Jmeter(8)分布式测试
通过Jmeter远程启动功能,把一台windows机器作为控制器,远程控制其他多个Windows或linux压力机,把压力分散到多台执行机器上,从而实现高并发,并在控制机上搜集测试结果
Jmeter分布式步骤
一、远程机配置
远程机需要安装jdk和jmeter,最好和控制机上的版本保持一致,要保证jmeter能正常运行
1、启动远程机的jmeter-server
在远程机的jmeter的bin目录下,启动jmeter-server命令启动jmeter服务,启动成功如下截图
2、修改远程机jmeter默认端口号
在jmeter的bin目录下的jmeter.properties,修改文件中的server_port和server.rmi.localport
server_port=1029
server.rmi.localport=1029
这两项必须同时修改且一样
修改后重新执行jmeter-server,结果如下,表示修改成功
二、控制机配置
在控制机上要保证执行命令能发送到远程机上,需要在控制机上配置远程机的ip地址和port
在控制机jmeter的bin目录下的jmeter.properties,修改文件中的remote_hosts,其中ip和port即为上述步骤中远程机的ip和port,配置如下
remote_hosts=192.168.0.110:1029
多个远程机配置用逗号分隔
三、远程启动和停止
1、控制机配置完成后打开jmeter的GUI界面,在菜单栏的运行-远程启动中可以看到配置的远程机ip
2、创建测试计划,点击运行-远程启动,即可启动远程机了,可以在远程机上看到控制台信息
3、可以在控制器上通过监听器查看控制机运行结果
4、点击运行-远程停止,停止远程机运行
四、Jmeter分布式需要注意的问题
1、如果使用csv参数化,需要把参数文件在每台远程机上配置一份,最好放在bin目录下,jmeter会直接在bin目录下查看
2、远程机执行测试脚本时,若断言执行成功时,在控制机上是看不到请求响应数据的,只有在断言出错时才可看到远程机的返回
3、远程机启动jmeter-server.bat时,报错Server failed to start: java.rmi.server.ExportException: Listen failed on port: 1029; nested exception is:
java.io.FileNotFoundException: rmi_keystore.jks
解决办法:将远程机的jmeter.properties文件中的#server.rmi.ssl.disable=false改成true,并去掉#保存后,重启jmeter
4、控制机点击远程启动时,报错Exception creating connection to: 192.168.0.110; nested exception is:
java.io.FileNotFoundException: rmi_keystore.jks (系统找不到指定的文件。)
解决办法:将控制机的jmeter.properties文件中的#server.rmi.ssl.disable=false改成true,并去掉#保存后,重启jmeter
文章https://blog.csdn.net/qq_30068487/article/details/80090041总结jmeter分布式比较全面,推荐给大家