Web性能问题怎么排查,不要老甩锅给开发(原创)
大多数性能测试的目的就是要发现性能问题,并找到问题的原因。
(仅代表个人观点,肯定还有其他的目的,见我的文章《浅谈Web性能测试》)
那么排查性能问题第一步要做什么:
我觉得第一步很简单,就是要判断是前端慢还是后端慢。(前提是系统是Web的,也就是BS端的,如果是CS的那前台的性能影响会比较小)
判断方法很简单,F12的network页签 看它的加载全过程。
- 如果是前端渲染慢,那就优化前端代码,优化加载顺序,异步加载,防止重复加载。
- 如果是js、css、html、字体文件、图片、多媒体等文件过大,网速低造成下载速度慢,那就精简这些文件的体积。
- 如果是接口返回的时间过长,那就是后台的问题,我们再往下继续分析。
我总结了性能排查的四步法(原创):
Web的性能问题,前端的都比较好解决,因为问题原因比较直接,切性能优化过程中不会影响到后台逻辑。
但是如果是后台服务端的问题,那么其实是一个非常复杂的问题。
其实很多人对性能问题有一个误区,就是如果是后台的性能问题,理所当然的会觉得是代码问题,
尤其是不太懂的产品经理、业务人员、初级测试人员,
只会一味的指责开发人员去修改和优化,
这其实是不对的。
为什么这么说
因为服务端影响性能的因素实在是太多太多了
代码逻辑、业务逻辑、数据量、服务器硬件、数据库调优、中间件调优、网络带宽等等。
这就像是木桶原理,以上任何一个环节出了问题,都会影响全局。
所以一个认真负责有能力的测试人员,
有责任有义务去进一步的排查出问题的根本原因!
而不能只是抛出问题就不管了。
我用了几天的时间在网上查找资料,
跟多个开发、开发总监、性能专家也进行了沟通,整理出了以下的思维导图。
可能有不完善或者不正确的地方,希望大家及时指正。
思维导图的原文件有需要的话可以私信我。