[JM_09]JMeter分布式测试操作事项总结
2018-08-11 本文已影响18人
Fighting_001
背景
由于JMeter本身的瓶颈,当需要模拟数以千计的用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起Java内存溢出的错误。要解决这个问题,可以使用分布式测试,运行多台机器中的Agent来分担JMeter自身的压力,以此获取最大的并发用户数。
操作步骤
前提:
若使用两台机器:192.168.0.11和192.168.0.12作为Agent
(Agent机器上需要安装JDK,并设置环境变量)
- 安装JMeter,确定其中一台机器为Controller,其他机器作为Agent,然后运行所有Agent机器上的jmeter-server.bat文件。
- 在Controller机器的
%JMETER_HOME%/bin
目录下,编辑jmeter.properties中的remote_hosts=127.0.0.1,将其修改为remote_hosts=192.168.0.11:1099,192.168.0.12:1099
(此处所设置的IP表示运行JMeter Agent的机器,多台机器以英文逗号隔开)
- 启动Controller机器上的jmeter.bat,选择菜单Run中【Remote Start】中的192.168.0.11:1099或192.168.0.12:1099来运行Agent
- 若只让某台机器执行,则可以点击修改机器的IP地址;若需要两台机器都执行,则可点击Run菜单下的【远程运行全部】图标
- 若用作代理的机器较少时,不能满足测试需要,则需将作为Controller的电脑也当做Agent;此时,同样需要修改jmeter.properties文件,将Controller的IP地址写入其中。同时需要打开Controller电脑中JMeter的bin目录下的jmeter-server.bat,然后再打开jmeter.bat。此时,点击Run-->Remote Start菜单,可以看到Controller也作为远程机器来运行。
常见问题
- 确定在Controller机器上安装JDK,版本和JMeter一致
- Agent机器启动jmeter-server.bat时,后台提示"could not find ApacheJmeter_core.jar"
解决方法:
添加环境变量JMETER_HOME,路径为bin目录的上一级目录 - JMeter分布式控制过程中,各个Agent启动的线程数等于线程组中的配置数