最近公司要做服务端压力测试,我来负责;
产品:我要求系统必须满足 300 并发的要求,系统用起来要流畅;
产品给出的指标就是上面两个:1.300 并发;2. 流畅;OK,那就开始做吧;如果放在以前刚刚开始接触压测的时候,我肯定是写好脚本,直接上 300 个并发,在一些节点加思考时间,模拟用户行为来压测就行;但是这样是没法准确来模拟 300 个真正用户的操作场景的,可以说在脚本方面下功夫,无论如何也没法准确的模拟一定数量的用户对系统的操作的;
这个时候我们能不能通过抓取后台的服务日志,看一下每个服务在一段时间内,真正承受的压力是多少呢?我们可以看 QPS,比如一天内最大的值是 100QPS,这个时候我们就知道服务最大接到 的请求压力是 100QPS,这个时候,我们就可以通过加大并发量,让服务承受的压力一直阶梯增加到 50QPS 80QPS 100QPS 120QPS, 不用管 jmeter 加的并发量是多大,只调整 jmeter 的并发量,看服务端承受的 QPS 能否达到最大值就可以了!也不用再想法模拟飘忽不定的用户真实操作了;当 jmeter 设置到一定并发量,后台服务承受的压力是 100qps 了,这个时候系统还没有问题的话就满足产品的要求了;我们还可以接着加大并发量,直到压出系统的瓶颈;
这个过程的一切,我们只看后台服务的 qps,并发量只是我们达到服务承受压力的一个手段而已;
这是个人的一些思考,欢迎性能大咖能提出质疑或者性能测试的方法,真诚跟大家交流请教,谢谢!
最后 @ 一下大神@ZeeBJ,还请指正,感谢!