Jmeter分布式

Jmeter运行时十分耗CPU和内存,在实际应用中有时一台机器不能满足测试要求,这时就需要利用多台机器来进行分布式。
 
Jmeter分布式的测试框架:框架中所有的测试脚本都要从测试主机传送到测试从机,而测试结果又要从测试从机传送回测试主机。
测试主机收集所有从机的测试结果并显示出来,如果虚拟用户的数量大的话,这个过程需要传输的数据很多,对测试主机有很高的求。
(图片转自博客http://blog.chinaunix.net/uid-26884465-id-3419474.html)
 
在进行分布式前需要确认的问题:
1.所有主从机器都在同一个子网内,能够访问
2.所有防火墙都关闭了
3.所有机器上的Jmeter都是同一个版本的,JDK是同一个版本的。
 
上面的确认没有问题了,就可以进行分布式测试了。分布式采用master-slave,即一台机器做主机controller,其他机器做从机agent。
假设用192.168.201.246做主机,192.168.201.247和192.168.201.248做从机
 
1.主从机器上都安装Jmeter和JDK。配置好Jmeter和JDK的环境变量
如果从机的JAVA环境变量没有配置,需要编辑jmeter-server.bat文件,编辑REM START rmiregistry %SERVER_PORT%,将其改为
REM START %JAVA_HOME%/jre7/bin/rmiregistry %SERVER_PORT%
 
2.在主机下配置jmeter.properties的remote_hosts
编辑jmeter.properties文件,将remote_hosts=127.0.0.1
修改为:
remote_hosts=192.168.201.247:1099,192.168.201.248:1099
(如果想要将主机也做为从机去运行脚本,只需要在remote_hosts=后增加127.0.0.1:1099即可)
 
注意:端口号1099是做为jmeter的controller和agent之间进行通信的默认RMI端口号。
确定端口是否被占用的命令:
netstat -ano|findstr "1099"
tasklist|findstr "1099"
 
3.在所有从机上放一份参数化的文件,否则分布式不会成功
 
4.启动所有从机的jmeter-server.bat(如果主机也作为分布式slave,也需要启动主机上的jmeter-server.bat)
注意:这步一定要做,否则远程启动的时候会报错
 
5.在主机上打开jmeter.bat,打开已经调试好的测试脚本,选择远程启动即可成功。
远程启动分为两种:
1.可以单独启动某一台从机,通过运行->远程启动->XXX
2.全部启动,运行->远程全部启动。菜单上也有远程全部启动的按钮
 
 
推荐博客:http://www.cnblogs.com/yangxia-test/p/4016277.html     
原文地址:https://www.cnblogs.com/meitian/p/4575124.html