Jmeter压力测试
AcmeAir利用jmeter模拟用户行为。可通过动态调整用户数量,模拟产生各种压力的事物流量。
并可通过设置请求中的header,模拟slowTrans、HighCPU等故障场景(如何向AcmeAir注入问题代码)。
如需安装VNC Server,可参考如下文档
1 准备jmeter工具和acmeair压测脚本scripts
备注:不能直接使用自己在其它网上下载的jmeter工具,当导入我们提供的Jmeter脚本时就会报错,因为这里有acmeair压测依赖的jar包,请从git上或者在下面链接里下载
jmeter工具:
apache-jmeter.zip 本地下载地址
gitlab@git.oneapm.me:research/apache-jmeter.git git上下载地址
脚本文件:
acmeair-source.zip 本地下载地址
gitlab@git.oneapm.me:research/acmeair-source.git git上下载地址
2 打开jmeter工具并导入acmeair压测脚本
进入目录apache-jmeter\apache-jmeter.git\bin ,windows系统打开jmeter.bat,linux系统打开jmeter.sh
打开了jmeter工具界面,导入压测脚本 acmeair-source\acmeair-source.git\acmeair-driver\src\main\scripts\AcmeAir.jmx
3 左边可以看到acmeair测试元件,第一个“简单配置元件”配置的是应用主机ip,修改为自己搭建的容器宿主主机IP.
(修改\scripts\ hosts.csv文件)
右边是线程组设置,说明见图中标注。
4线程组按需设置好后,点击启动按钮。
线程执行过程中,可以随时按stop停止
5 查看测试结果
View Results Tree 以树状列表查看结果
通过这个监听器,我们可以看到很详细的每个transaction它所返回的结果,其中红色是指出错的transaction,绿色则为通过的。
单击左侧Aggregate Report监听器,查看聚合报告。
Samples -- 本次场景中一共完成了多少个Transaction
Average -- 平均响应时间
Median -- 统计意义上面的响应时间的中值
90% Line -- 所有transaction中90%的transaction的响应时间都小于xx
Min -- 最小响应时间
Max -- 最大响应时间
PS: 以上时间的单位均为ms
Error -- 出错率
Troughput -- 吞吐量,单位:transaction/sec
KB/sec -- 以流量做衡量的吞吐量