JMeter可以运行模式有两种,一种是UI图形,另一种是命令模式运行也就是非GUI模式。
GUI由于是图形界面,会消耗大量系统资源,所以jmeter官方建议使用非GUI方式运行
非GUI运行示例:
win系统:
jmeter -n -t G:\login.jmx -l G:\jieguo\result.csv -e -o G:\report\
mac系统:
sh jmeter -n -t ../script/login.jmx -l ../rosult/result.csv -e -o ../rosult/
测试脚本路径:G:\login.jmx
测试结果保存到:G:\jieguo\result.csv
测试报告保存到:G:\report\
jmeter -n -t G:\login.jmx –r -l G:\jieguo\result.csv -e -o G:\report\
远程执行所有服务器列表(默认执行jmeter.properties中remote_hosts的内容)
jmeter -n -t G:\login.jmx –R 192.168.01.01 -l G:\jieguo\result.csv -e -o G:\report\
远程执行指定服务器
非GUI运行命令部分:
-h 帮助
-n 非gui模式,在非gui模式下运行
-t 行jmx脚本路径,若非当前目录需用绝对路径
-l 指定结果文件路径(jtl或csv),路径不存在时会自动创建
-r 设置分布式(远程)执行,服务器列表由\bin\jmeter.properties中remote_hosts指定
-R 指定远程(分布式)服务器列表
-j 指定执行日志路径,路径不存在时,不会自动创建,同时将日志输出至命令行控制台
-e 设置测试完成后生成测试报告
-g 指定已存在的测试结果文件路径。仅用于生成测试结果
-o 指定测试报告生成路径,文件夹必须为空或不存在
-H 设置 JMeter 使用的代理主机ip
-P 设置 JMeter 使用的代理主机的端口号
---------------------------------------------------------------------------------------------------------------------------------------------------------------
运行jmete过程中,一段时间后就出现错误Address already in use : connect百度后修改如下:
使用 win + R 快捷键,输入 regedit 命令打开注册表
找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters目录
右击 Parameters,
添加一个新的 DWORD,命名为MaxUserPort,值输入65534,选择十进制
再次添加一个 DWORD,命名
TcpTimedWaitDelay ,值输入30,选择十进制
修改配置完毕后, 需要重启才会生效。
配置了之后解决以上错误,
如不行的,可添加以下三个参数尝试
"KeepAliveTime"=dword:006ddd00
"KeepAliveInterval"=dword:000003e8
"MaxDataRetries"="5"
但是压测一段时间任然会有failed: Connection timed out: connect,连接超时的情况,暂未解决
百度到可以
把Http Request->Advanced里面的Client Implement选择为Java,暂未尝试,后续可行再更新