一、执行机配置(远程linux服务器作为执行机)
1.上传jmeter包,解压
2.配置jemeter环境变量
vim ~/.bashrc 最后一行添加jmeter的bin目录地址;
# User specific aliases and functions
export PATH=$PATH:/home/test_tool/apache-jmeter-5.1/bin
修改完成后启用配置:source ~/.bashrc;运行 jmeter -v 能正常打印版本则ok
ps : jmeter -v 无java环境,安装:yum -y install java
3.bin目录下jmeter、jmeter-server文件授权:chmod 777 XX
4.修改jmeter-server配置:当前服务器ip,端口默认1099(netstat -lnp | grep 1099 查看端口是否被占用,如被占用则需要修改下方默认端口)
RMI_HOST_DEF=-Djava.rmi.server.hostname=xxx.xxx.xxx.xxx 取消注释or新增一行,后面填写本机ip地址
5.执行jmeter-server(建议后台方式执行):在jmeter的bin目录下执行命令:nohup ./jmeter-server &
tail -f nohup.out 日志文件:
6.要用到的csv,txt等文件需要放到执行机相同的目录下
二、调度机配置(windows、linux都可以)
1.修改jmeter的bin目录下jmeter.properties 文件(远程执行机ip:端口,多个用逗号分隔,建议调度机不要作为执行机)
2.windows系统GUI方式执行(确保txt,csv等文件在每个执行机都有,且目录相同,本地执行脚本的目录需要用linux服务器对应文件的目录)
3.windows系统非GUI方式执行(配置了环境变量,否则需要在jmeter的bin目录执行):
jmeter.bat -n -t E:\TestData\jmx\营业厅\YYTV301-28-15min.jmx -R 10.40.7.59:1099,10.40.7.51:1099 -l E:\TestData\jmx\营业厅\jtl\2801.jtl -e -o E:\TestData\jmx\营业厅\report
ps:report存放生成的html,文件夹需要存在且为空;
--windows 执行,指定2台远程执行器,同步生成html报告
jmeter.bat -n -t E:\TestData\jmx\营业厅\YYTV301-28-15min.jmx -R 10.40.7.59:1099,10.40.7.51:1099 -l E:\TestData\jmx\营业厅\jtl\090701.jtl -e -o E:\TestData\jmx\营业厅\report
-windows 执行 ,指定2台远程执行机,不生成html报告
jmeter.bat -n -t E:\TestData\jmx\营业厅\YYTV301-28-15min.jmx -R 10.40.7.59:1099,10.40.7.51:1099 -l E:\TestData\jmx\营业厅\jtl\090701.jtl
--linux 执行,所有远程执行器执行,不生成html报告
jmeter -n -t /home/test_tool/testdata/jmx/YYTV301-28-15min.jmx -r -l /home/test_tool/testdata/jmx/1.jtl
---用已生成的jtl来生成html报告
jmeter -g E:\TestData\jmx\营业厅\jtl\090701.jtl -o E:\TestData\jmx\营业厅\report
参考文档:
https://www.cnblogs.com/L-Test/p/9427795.html
https://www.cnblogs.com/leeboke/p/5238269.html
https://www.cnblogs.com/wangxianglong/p/12845111.html
window命令行执行输出html报告报错
https://www.jianshu.com/p/45307338c298
如果执行命令出现以下错误:Creating summariser
Error in NonGUIDriver java.lang.IllegalArgumentException: Report generation requires csv output format, check 'jmeter.save.saveservice.output_format' property
解决方法:修改jmeter的bin目录下user.properties配置参数或者直接复制以下配置,再次执行命令后即可生成html可视化报告了
jmeter.save.saveservice.output_format=csv
jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.response_code=true
jmeter.save.saveservice.response_message=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.timestamp_format=ms
jmeter.save.saveservice.timestamp_format=yyyy-MM-dd HH:mm:ss
jmeter.save.saveservice.print_field_names=true
---定时任务
增加定时任务:crontab -e
*/15 * * * * /bin/sh /home/test_tool/apache-jmeter-5.1/bin/jmeter.sh -n -t /home/test_tool/testdata/jmx/YYTV301-28-15min.jmx -r -l /home/test_tool/testdata/jmx/1.jtl
查看定时任务执行情况:tail -f /var/log/cron
参考文档: