背景:
由于jmeter本身的瓶颈,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起java内存溢出的错误,要解决这个问题,可以使用分布测试,运行多台机器运行所谓的Agent来分担jmeter自身的压力,并借此来获取更大的并发用户数,但是需要进行相关的一些修改,具体如下

操作步骤:
1.安装jmeter,并确定其中一台机器作为controller,其他的机器作为Agent,然后运行所有Agent机器上的jmeter-server.bat文件,假定我们使用两台机器192.168.0.11和192.168.0.12作为Agent;(Agnet机器上必须安装jdk,并设置环境变量)

2.在controller机器的%JMeter_home%/bin下,编辑Jmeter.properties中“remote_hosts=127.0.0.1".其中的127.0.0.1表示运行jmeter Agent的机器,这里需要修改为“remote_hosts=192.168.0.11:1099,192.168.0.12:1099"----其中的1099为端口号
 


右键编辑,找到remote_hosts
 


修改后,再次启动jmeter




3.启动controller机器上的jmeter.bat,选择菜单run中的remote start中的192.168.0.11:10099和192.168.0.12:1099来运行Agent
 
 



4.如果要让某个电脑执行,可以点击改电脑的IP地址就可以,如果两个都要执行,可以点击run菜单下的远程运行全部菜单





5.有时候用作代理的机器太少,扔不能满足需要,则需要将作为controller的电脑也当作Agent,则同样需要修改jmeter.properties文件,将controller的IP地址写入,同时,这个时候,需要先打开controller电脑中jmeter下bin目录下的jmeter-server.bat,然后在打开jmeter.bat,此时,进入run---->remote start菜单,可以看到controller也作为远程机器进行运行


常见问题
1.确定在controller机器上安装jdk,版本和jmeter一致

2.agent机器启动jmeter_server.bat,后台提示:could not find apachejmeter_core.jar
解决方法:这个是开始没有找到apachejmeter_core.jar,如果不希望看到could not find的字样,需要添加环境变量jmeter_home,路径为bin目录的上一级目录,这样启动jmeter-server服务时,就不会看到could not found apachejmeter_core.jar

3.jmeter分布式控制过程中,各个agent启动的线程数等于线程组中的配置










posted on 2017-07-28 10:04  june☂  阅读(185)  评论(0编辑  收藏  举报