一、环境信息
JDK1.8 Jmeter5.2
二、操作步骤
- 下载apache-jmeter压缩包并分别上传至对应服务器
- 将压缩包解压,进入到bin目录下,修改 jmeter.properties 文件
-
修改 remote_hosts 参数,可以有多个agent,用英文逗号分隔,如下图所示
其中的端口号可以自定义,默认是1099
注意:如果不使用SSL的方式连接,请将下面的配置注释去掉,然后改为 true
server.rmi.ssl.disable=true
- 在其他 agent 机器上做同样的修改
- 修改完成后,后台启动 jmeter-server 并将输出日志重定向,到此 agent 配置完成
nohup jmeter-server > /path/to/your/log/server.log 2>&1 &
- 进入 controller 所在机器,修改 jmeter.properties 文件,与 agent 机器上配置文件保持一致
- 直接使用 jmeter 命令运行脚本
三、分布式原理
1.Jmeter分布式测试时,选择其中一台机器作为控制机(Controller),其它机器则做为代理机(Agent)
2.执行时,Controller会把脚本发送到每台Agent上,Agent 拿到脚本后开始执行,Agent执行时不需要启动Jmeter,只需要把jmeter-server.bat文件打开,而它是通过命令行模式来执行的
3.执行后,Agent会把结果回传给Controller,Controller收集所有Agent的信息并汇总
四、注意事项
- Controller 和 Agent 需要在同一网段内,否则可能会出现 Connection refused 异常
- 如果测试数据有用到CSV或者其他方式进行参数化,需要将data pools在每台 Agent 上复制一份,且读取路径必须保持一致
- 保持 Contorller 和 Agent 机器的JDK、Jmeter以及插件等配置版本一致
网友评论