Redhat linux 下 Jmeter 非GUI界面执行压力测试
Jmeter 非GUI界面,压测参数说明:
-h 帮助
-n 非GUI模式
-t 指定要运行的 JMeter 测试脚本文件
-l 记录结果的文件 每次运行之前,(要确保之前没有运行过,即xxx.jtl不存在,不然报错)
-r Jmter.properties文件中指定的所有远程服务器
-e 在脚本运行结束后生成html报告
-o 用于存放html报告的目录(目录要为空,不然报错)
首先 将目录切换到Jmeter的bin目录.
cd /usr/local/jmeter/bin
执行压测使用以下命令:
./jmeter -n -t ../user-jmx/SpringBoot.jmx -l /usr/local/jmeter/temp/result.jtl -e -o /usr/local/jmeter/temp/ResultReport
此时会遇到一个错误:
An error occurred: Cannot write to '/usr/local/jmeter/temp/ResultReport' as folder does not exist and parent folder is not writable
发生错误: 无法写入“/usr/local/jmeter/temp/ResultReport”文件夹不存在,父文件夹不可写.
解决办法: 查看 /usr/local/jmeter/temp/ResultReport 目录的确不存在, 去创建即可.
再次执行测试脚本 :
./jmeter -n -t ../user-jmx/SpringBoot.jmx -l /usr/local/jmeter/temp/result.jtl -e -o /usr/local/jmeter/temp/ResultReport
Creating summariser <summary>
Created the tree successfully using ../user-jmx/SpringBoot.jmx
Starting standalone test @ Wed Jun 09 08:36:58 CST 2021 (1623199018867)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary + 1 in 00:00:03 = 0.4/s Avg: 1440 Min: 1440 Max: 1440 Err: 0 (0.00%) Active: 174 Started: 174 Finished: 0
summary + 399 in 00:00:03 = 133.5/s Avg: 597 Min: 6 Max: 2239 Err: 0 (0.00%) Active: 0 Started: 400 Finished: 400
summary = 400 in 00:00:06 = 69.4/s Avg: 599 Min: 6 Max: 2239 Err: 0 (0.00%)
Tidying up ... @ Wed Jun 09 08:37:05 CST 2021 (1623199025577)
... end of run
成功.
如再次执行测试脚本会出现错误1:
An error occurred: Cannot write to '/usr/local/jmeter/temp/ResultReport' as folder is not empty
发生错误, 无法写入文件夹不为空.
原因: 用于存放html报告的目录要为空,不然会报错.
解决办法: 将 /usr/local/jmeter/temp/ResultReport/ 目录下的文件清空即可.
错误2:
Error in NonGUIDriver java.lang.IllegalArgumentException: Results file:result.jtl is not empty
An error occurred: Error in NonGUIDriver Results file:result.jtl is not empty
原因: -l xxx.jtl 记录结果的文件已存在, 每次运行之前 要确保 xxx.jtl不存在,不然报错.
解决办法: 删除即可 xxx.jtl 文件即可.
如需 编辑压测脚本使用命令: vim /usr/local/jmeter/user-jmx/SpringBoot.jmx
1. 将目录切换到Jmeter的bin目录.
cd /usr/local/jmeter/bin
2. 执行压力测试前 先 执行命令删除文件夹
rm -rf /usr/local/jmeter/temp/ (我不知道怎么写 只删除temp下所有文件, 不删除temp目录的命令.)
3. 再执行命令创建存放测试结果的文件夹:
mkdir /usr/local/jmeter/temp/
4. 完成以上两步后再执行:
./jmeter -n -t ../user-jmx/SpringBoot.jmx -l /usr/local/jmeter/temp/result.jtl -e -o /usr/local/jmeter/temp/ResultReport
即可正常进行压力测试.
查看HTML测试结果:
去目录 /usr/local/jmeter/temp/ResultReport/ 下即可查看测试结果.
使用Jmeter 查看jtl文件:
将.jtl文件复制到本地, 打开jmeter,新建线程组 -> 汇总报告 (summary report) -> 点 浏览 选择.jtl文件 进行查看.