实验数据记录,验证locust与lr的测试结果。
之前一直用lr进行性能测试,对lr的各项指标比较熟悉,新工具locust上手,做下结果对比。验证工具差异,供同行参考。
采用简单场景验证:
访问测试站点首页、子类页面
第一次
首先loadrunner:
10vu 并发启动,运行3分钟
得到结果:
RT/TPS:1.9s/5.2
通过事务:950
服务端负载约9.4(一台测试服务器,忽略性能...)
其次locust: 同样10vu 并发启动,运行3分钟,手动停止
得到结果: RT/RPS:2.1s/4.4 通过事务:890 服务端负载10(一台测试服务器,忽略性能...)
对比: - loadrunner:RT/TPS:1.9s/5.2
- locust :RT/RPS:2.1s/4.4
差距不算太大。
第二次首先loadrunner: 100vu 并发启动,运行3分钟
得到结果: RT/TPS:13.95s/7
通过事务:1400
服务端负载:99......(这是一台测试服务器...这是一台测试服务器...)
其次locust:(经过漫长的等待,load average终于回到了1) 同样100vu 并发启动,运行3分钟,手动停止
得到结果: RT/RPS:14.31s/6.9
通过事务:1125(由于locust是手动停止,而loadrunner是设置好的时间,所以在时间把控上有一些出入,影响到了总请求数量,不过不是主要关注的指标,可以忽略) 服务端负载:108(没截到图......)
再对比: loadrunner:RT/TPS:13.95s/7 locust :RT/RPS:14.31s/6.9
结果还是差不多的,locust的程序我是跑在windows上的,人家官网都说了,建议使用linux。。。不过linux上亲测运行速度要快过Windows!
最后使用阿里的PTS对比下: 由于PTS 的vu启动速度太慢,所以时间设置了3:30,另外,PTS可设置最大的超时限制是10s,100vu时测试站点大多响应时超过10s,所以只做了10vu的测试。 同样10vu 并发启动,运行3分半
得到结果: RT/RPS:2.1s/4.9
通过事务:1055 服务端负载12(一台测试服务器,忽略性能...)
10vu 的对比: - loadrunner:RT/TPS:1.9s/5.2
- locust :RT/RPS:2.1s/4.4
- PTS :RT/RPS:2.1s/4.9
平均负载的值没有大的出入,测试服务器上有几个测试站点、计划任务再跑,小范围波动可忽略。
以上就是对比结果,个人觉得,locust完全可以代替lr。而且场景全是自己脚本写,自由度很高!
|