Apache JMeter是一个纯Java开发的用于负载测试或者性能测试的开源软件。这篇文章介绍一下使用JMeter进行压力测试的两种压力测试报告生成的方法。
环境准备
关于Apache JMeter的概要介绍与安装的方法,可参看如下内容:
- https://liumiaocn.blog.csdn.net/article/details/101264380
线程组设定信息如下所示,在本例中,此设定被保存为thread.jmx
事前准备
这里使用JMeter自带的Java请求进行压力测试的示例来说明如何生成测试报告,详细的操作步骤可以参看如下内容:
- https://liumiaocn.blog.csdn.net/article/details/101272019
GUI方式生成
使用如下步骤即可生成报告
- 步骤1: 在聚合报告的输出文件名中输入:/tmp/jmeter-test.jtl。这样执行测试后将会生成/tmp/jmeter-test.jtl的结果文件。
- 步骤2: 点击绿色的启动按钮开始执行,然后点击聚合报告可以看到实时的信息,执行结束后可以看到36000次的执行结果信息如下所示:
- 步骤3: 确认生成的/tmp/jmeter-test.jtl的结果文件并以此生成测试报告文件。
执行命令:bin/jmeter -g /tmp/jmeter-test.jtl -e -o /tmp/jmeter-rpt-gui -j /tmp/gui-rpt.log
liumiaocn:apache-jmeter-5.1.1 liumiao$ ls -l /tmp/jmeter-test.jtl
-rw-r--r-- 1 liumiao wheel 2874933 Sep 26 05:00 /tmp/jmeter-test.jtl
liumiaocn:apache-jmeter-5.1.1 liumiao$ bin/jmeter -g /tmp/jmeter-test.jtl -e -o /tmp/jmeter-rpt-gui -j /tmp/gui-rpt.log
liumiaocn:apache-jmeter-5.1.1 liumiao$ ls /tmp/jmeter-rpt-gui/
content index.html sbadmin2-1.0.7 statistics.json
liumiaocn:apache-jmeter-5.1.1 liumiao$
- 1
- 2
- 3
- 4
- 5
- 6
非GUI方式生成
使用如下步骤即可生成报告
- 步骤1: 使用thread.jmx文件使用-n的非GUI方式运行jmeter进行压力测试,并生成结果jtl文件,具体命令如下所示:
执行命令:bin/jmeter -n -t /tmp/thread.jmx -l /tmp/jmeter-test-nongui.jtl -j /tmp/gui-rpt.log
- 1
执行结果如下所示:
liumiaocn:apache-jmeter-5.1.1 liumiao$ bin/jmeter -n -t /tmp/thread.jmx -l /tmp/jmeter-test-nongui.jtl -j /tmp/gui-rpt.log
Creating summariser
Created the tree successfully using /tmp/thread.jmx
Starting the test @ Thu Sep 26 05:23:23 CST 2019 (1569446603749)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary + 2328 in 00:00:06 = 391.3/s Avg: 227 Min: 101 Max: 359 Err: 0 (0.00%) Active: 100 Started: 100 Finished: 0
summary + 12937 in 00:00:30 = 431.2/s Avg: 231 Min: 100 Max: 359 Err: 0 (0.00%) Active: 100 Started: 100 Finished: 0
summary = 15265 in 00:00:36 = 424.6/s Avg: 231 Min: 100 Max: 359 Err: 0 (0.00%)
summary + 13155 in 00:00:30 = 438.5/s Avg: 227 Min: 100 Max: 359 Err: 0 (0.00%) Active: 100 Started: 100 Finished: 0
summary = 28420 in 00:01:06 = 430.9/s Avg: 229 Min: 100 Max: 359 Err: 0 (0.00%)
summary + 7580 in 00:00:20 = 377.8/s Avg: 228 Min: 100 Max: 359 Err: 0 (0.00%) Active: 0 Started: 100 Finished: 100
summary = 36000 in 00:01:26 = 418.5/s Avg: 229 Min: 100 Max: 359 Err: 0 (0.00%)
Tidying up ... @ Thu Sep 26 05:24:50 CST 2019 (1569446690067)
... end of run
liumiaocn:apache-jmeter-5.1.1 liumiao$
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 步骤2: 确认生成的/tmp/jmeter-test.jtl的结果文件并以此生成测试报告文件。
执行命令:bin/jmeter -g /tmp/jmeter-test-nongui.jtl -e -o /tmp/jmeter-rpt-nongui -j /tmp/gui-rpt.log
执行结果如下所示
liumiaocn:apache-jmeter-5.1.1 liumiao$ bin/jmeter -g /tmp/jmeter-test-nongui.jtl -e -o /tmp/jmeter-rpt-nongui -j /tmp/gui-rpt.log
liumiaocn:apache-jmeter-5.1.1 liumiao$ ls -l /tmp/jmeter-rpt-nongui/
total 32
drwxr-xr-x 5 liumiao wheel 160 Sep 26 05:26 content
-rw-r--r-- 1 liumiao wheel 9477 Sep 26 05:26 index.html
drwxr-xr-x 7 liumiao wheel 224 Sep 26 05:26 sbadmin2-1.0.7
-rw-r--r-- 1 liumiao wheel 796 Sep 26 05:26 statistics.json
liumiaocn:apache-jmeter-5.1.1 liumiao$
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
总结
这篇文章中介绍了在JMeter中生成测试报告的常用方法,在下篇文章中将继续介绍测试报告的详细信息。