背景:
由于Jmeter本身的瓶颈、当需要模拟数以千计的并用户时,使用单台机器模拟并发用户就有些力不从心、甚至还会引起java内存溢出的错误。要解决这个问题,可以使用分布式测试,运行多台机器运行所谓的Agent来分担Jmeter自身的压力,并借此来获取更大的并发用户数,但是需要进行一些相关的修改,具体如下:
操作步骤:
- 安装Jmeter,并作为其中一台机器为Controller,其他的机器作为代理。然后运行所有Agent机器上的jmeter-server.bat文件,假定我们使用2台机器192.168.0.11和192.168.0.12作为Agent(Agent机器上必须安装JDK,并设置环境变量)
- 在Controller机器的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为端口号
- 启动controller机器上的JMeter.bat,选择菜单Run中的“Remote Start”中的192.168.0.11:1099和192.168.0.12:1099来运行Agent
- 如果要让某个电脑执行,可以点击更改电脑IP地址就可以,如果;两个都要执行,可以点击Run菜单下的“远程运行全部”菜单
- 有时候用作代理的机器太少,仍不能满足需求,则需要将作为Controller的电脑也当做Agent,则同样修改jmeter.p