Jmeter-分布式用法说明
Jmeter-分布式
需求:
对某接口进行1000用户并发访问,测试服务器处理批量请求能力
1. 概念
由多台电脑共同完成同一1个任务(请求)部署,我们称这种部署为分布式部署
2. 分布式原理
- 一台电脑作为控制机(Controller),其它电脑做为执行机(Agent);
- 执行时,控制机会把脚本发送到每台执行机上,执行机拿到脚本后就开始执行
- 执行机执行时不需要启动Jmeter界面,可以理解它是通过命令行模式执行的
- 执行完成后,执行机会把结果回传给控制机,控制机会收集所有执行机的信息并汇总
3. Jmeter分布式解决方案分析
- 1台电脑(控制机)分发执行任务
- 2台电脑(执行机)执行任务
- 在执行机上启动监听服务程序
- 在控制机上启动运行
- 测试计划->聚合报告
4. 技术执行过程
1.1 执行机1-jmeter.properties设置
- 打开bin目录下jmeter.properties配置文件
- server_port=1101
- 1101:为执行机自定义端口号
- 提示:
- 去除备注符号 #
- 自定义端口号时,注意选择未必占用端口号
1.2 执行机2-jmeter.properties设置
- 打开bin目录下jmeter.properties配置文件
- server_port=1102
- 1102:为执行机自定义端口号
- 提示:
- 去除备注符号 #
- 自定义端口号时,注意选择未必占用端口号
2. 控制机jmeter.properties设置
- remote_hosts=127.0.0.1:1099,127.0.0.1:1100
- remote_hosts:为执行机IP地址和端口号
- 注意:
- 多个执行机之间使用逗号(,)隔开
3. 执行机启动分布式监听服务程序
1.执行机1运行jmeter-server.bat,且不关闭
2.执行机1运行jmeter-server.bat,且不关闭
3.注:此处需要把jmeter.properties配置文件中的server.rmi.ssl.disable=false改成server.rmi.ssl.disable=true,否则会出现找不到该执行文件的错误
4. 执行机用户数的设置
需求为1000的访问量,由于有两台执行机,故线程数只需要填500
5. 控制机-如何运行分布式执行机
- 菜单-运行->选择全部启动
- 快捷键->Ctrl+Shift+R
6. 聚合报告运行效果图
5. 注意点
- 修改完端口要重启Jmeter.bat
- 控制机和执行机分开(为了方便,这里采用控制机和代理机在1台机器上)
1). 由于控制机需要发送信息给执行机并且会接受执行机回传的测试数据所以控制机自身会有消耗 - 参数文件:如果使用csv进行参数化,那么需要把参数文件在每台执行机上拷一份且路径需要设置成一样的;
- 每台机器上安装的Jmeter版本和插件最好都一致,否则会出一些意外的问题;
- 执行机上Jmeter也许需要配置JDK环境变量;