性能小文 | 性能测试工具大比武

性能测试是指通过特定的方式,对被测系统按照一定策略施加压力,获取系统响应时间、TPS、吞吐量、资源利用率等性能指标,以保证生产系统满足用户需求。

测试邦

揭示性能测试

性能测试工具集

LR:LoadRunner图形界面,更利于使用,要钱的要钱的

JMeter:基于Java,易于二次开发,免费的

gatling:基于scala,速度相比更快性能压力更大

locustio:采用python,基于greenlet和gevent

LR vs JMeter

LR: 1.商业工具 2.基于C语言 3.检查点通过 web_reg_find 4.关联web_reg_save_param 5.参数化每次迭代,每次更新,唯一,same line as ,date/time uniqnumber interator number ,vuser id 6,手动设置事务 7.支持ip spoofer 8.分布式时候,把依赖包和文件放到脚本根目录,自动发送到agent JMeter: 1.开源工具 2.基于java 3.检查点通过 断言 4.关联 后置处理器正则提取器 5.参数化 CSV jdbc request,用户自定义 ,random randomstring group counter timer 6.不支持ip欺骗 7.分布式时一般直接copy jmeter文件到agent上

性能测试Features

01

Critical Features:

1、支持HTTP/HTTPS协议,能够发送HTTP/HTTPS request;

2、支持用户场景(借用了LR中的词汇),能够以某种比例在不同的业务上分布用户数量;

3、支持事务;

4、支持参数化和关联(还是借用LR中的词汇);

5、能够获得和汇总请求响应时间等数据,能够提供响应时间汇总、事务/请求处理成功率等数据报表;

02

Non-Critical Features:

1、能够以漂亮的图表展示出结果数据;

2、能够提供漂亮的用户界面(GUI);

3、能够提供良好的录制功能和调试环境;

03

Other Features:

1、能够灵活的扩展,例如,我的应用的后端(bakcend)和前端的通讯使用的是RPC方式,则我希望工具能够通过我已有的API直接对后端产生负载,进行负载测试;

2、可以使用命令行方式,采用批处理模式运行(不需要GUI),运行后的结果能够通过Email等发送给我,或是直接integration到一个可发布的web页面上;

3、收集得到的数据能够很容易的进行再处理(例如,以XML格式存储raw data);

4、工具本身具有很好的可信度,可以通过查看代码等方式,

结论

JMeter和LoadRunner都可以很好的完成Critical Feature中列出的任务,而LR在Non-Critical Feature方面表现更出色。不过,JMeter在我希望的更灵活的功能方面大获全胜。 JMeter的另一个最大的优势,自然是在cost方面,LR的价格是有目共睹的,而JMeter,接近0的获得成本对于资金不那么宽裕的公司来说,实在是难得。 小编不得不承认,在对JMeter和LoadRunner进行比较的时候,我很明显的偏向了JMeter。小编没有?哇,真的很穷。。。

今天的介绍就到着了,下期要说啥呢?JMeter系列-JMeter入门。

原文发布于微信公众号 - 测试邦(testerbang)

原文发表时间:2018-08-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券