性能测试在大型网站系统的设计和开发中非常重要,通常会和容量预估等工作结合在一起,穿插在系统开发的不同方案。
性能测试可以帮助我们及时发现系统的性能短板,评估系统的能力,在这个基础在上再进行针对性的性能优化。
同时,压力测试还可以帮助我们验证系统的稳定性和可靠性。
一个完整的性能测试方案通常包括以下几个方面:
1.压力测试及生成性能报告
压力测试一个重点是如何产生压力,通常可以通过自己编写脚本模拟请求,或者使用成熟的压测工具进行。
压力测试很重要的一点是如何使得模拟压测的数据尽量真实,越接近真实用户越好。
2.根据性能报告定位系统瓶颈,进行针对性优化,测试和优化的工作可以和日常开发并行
压力测试完成以后,我们会拿到一个压测报告,这个报告通常会告诉我们系统的QPS、TPS、响应时延等数据,
这些数据可以让我们对服务器的性能有个整体的了解,发现存在的问题,但是不能帮助我们定位问题。
这个时候我们可以从系统的各个组件入手,关注系统的CPU、内存、IO、网络,对比这些环节对整体性能的影响,确定性能问题是系统哪一部分造成的,然后针对性的在系统中逐个优化。
为什么要建立线程组?原因很简单,因为我们要模拟多个线程(用户)来访问网站。
线程组创建界面如下图:
名称可以随意填写,默认选中“继续”即可。
线程属性部分中,线程数是启动多少个线程,我这里填写的是60,Ramp-Up Period (in seconds)表示线程之间间隔多少时间允许,单位是秒,比如如果填写120,那么120/60=2表示60个线程间每隔2秒钟请求网站。
循环次数:60个线程运行完毕算是一次,循环次数就是这样的一个请求过程运行多少次,我这里填写的是1000.
每次修改一个设置后,别忘记了保存一下。
2、 设置请求服务器、压力链接等信息
接下来很自然的是,我们要测试的网站地址是什么?链接是什么?所以现在我们就来设置这些信息。
右键点击我们刚创建的线程组,在弹出的菜单中,选择添加->Sampler->Http请求,弹出如下图界面:
|