JMeter生成的result图表实在是不容易看,一直用着一款插件,可以生成许多更直观的图,甚至可以结合server-agent查看系统的运行资源使用情况。
JMeter测试数据图表生成
插件安装
1. 下载最新jmeter插件jmeter-plugins-standard downloads page
2. 把zip文件夹解压到Jmeter的安装目录
3. 修改jmeter安装路径中:bin/jmeter.properties文件的以下行:
jmeter.save.saveservice.thread_counts=true
4. 启动JMeter就可以看到多了很多[email protected]开头的选项
获取jtl文件
在Thread Groups里面新建View Results Tree,把results写到jtl文件,点击configure可以选择要分析的数据
从jtl文件中生成性能报表
JMeter-plugins可以从jtl里面提取数据生成各种类型的图表,在我们的系统中最关注的就是系统延迟和TPS,可以通过CMDRunner来生成对应的图表。
java -jar apache-jmeter-2.8/lib/ext/CMDRunner.jar --tool Reporter --input-jtl ./testresult.jtl --plugin-type LatenciesOverTime --generate-png report-latency.png java -jar apache-jmeter-2.8/lib/ext/CMDRunner.jar --tool Reporter --input-jtl ~/testresult.jtl --plugin-type TransactionsPerSecond --generate-png report-transactionPerSec.png
服务器资源使用监控
上面说的是在JMeter测试端测试服务器的吞吐,实际测试过程中我们也需要观察服务器的资源使用情况,这个可以通过ServerAgent来实现。ServerAgent在每个服务器上启动一个进程监听服务器数据,并且提供4444端口给外部读取监听数据,JMeter
Plugin提供了读取ServerAgent数据的插件。Agent安装启动在http://jmeter-plugins.org/downloads/all/下载Serveragent,解压后运行startAgent.bat(windows),
startAgent.sh(linux), 系统监听4444端口。
C:\Users\elulian\Documents\cloudlu\Software\apache-jmeter-2.11\ServerAgent-2.2.1>.\startAgent.bat INFO 2014-07-30 15:43:25.478 [kg.apc.p] (): Binding UDP to 4444 INFO 2014-07-30 15:43:26.478 [kg.apc.p] (): Binding TCP to 4444 INFO 2014-07-30 15:43:26.478 [kg.apc.p] (): [email protected] Agent v2.2.0 started
JMeter收集数据
JMeter根据结果生成统计图
同样通过JMeter-plugins可以从jtl里面提取数据生成对应的图表
java -jar $jmeter_path/lib/ext/CMDRunner.jar --tool Reporter --input-jtl cpu.jtl --plugin-type PerfMon --generate-png report-cpu.png >& /dev/null java -jar $jmeter_path/lib/ext/CMDRunner.jar --tool Reporter --input-jtl memory.jtl --plugin-type PerfMon --generate-png report-memory.png >& /dev/null java -jar $jmeter_path/lib/ext/CMDRunner.jar --tool Reporter --input-jtl diskIO.jtl --plugin-type PerfMon --generate-png report-diskIO.png >& /dev/null
PS:
1. 以前服务器监控各自为政,现在有很多非常优秀的软件,提供统一接口监控系统使用情况,监控整个大的局域网系统情况,例如:nagios。
2. 生成图的操作可以通过jmeter来实现,有一款jmeter插件可以执行ssh command http://code.google.com/p/jmeter-ssh-sampler/
JMeter使用记录3 -- 性能监控插件jmeter-plugins