一、什么是jmeter分布式压测?
jmeter分布式压测:指将需要模拟的大量并发用户数分发到多台压力机,使jmeter拥有更大的负载量,满足真实业务场景(高并发场景)。可以理解为通过一个Jmeter控制台来远程控制多个Jmeter引擎(压力机、负载及、执行机)完成测试。
二、为什么jmeter要做分布式压测?
三、jmeter分布压测的目的是什么?
四、jmeter分布压测的原理是什么?
jmeter分布式原理:由控制机分发压测脚本到每台远程执行机(压力机),然后由控制机收集执行机结果。
ps:控制机可以执行测试脚本,也可以不执行只负责管理。执行机(压力机)系统不限,可以是win、mac、linux。
-
Jmeter分布式测试时,选择其中一台作为控制机(Controller),其它机器作为代理机(Agent),也可以叫作压力机/负载机/执行机。
-
执行时,控制机自动将测试计划(压测脚本)发送到每台压力机上,压力机拿到脚本后开始执行,压力机执行时不需要启动Jmeter,只需要把jmeter-server.bat文件打开,它应该是通过命令行模式来执行的。
-
执行后,压力机把结果回传给控制机,控制机收集所有压力机的信息并汇总。
五、分布式压测注意事项
六、分布式压测操作
-
保证本机和执行机的JDK和Jmeter版本一致
-
配置Jmeter环境变量
-
配置Jmeter配置文件
上传每个执行机服务jmeter
1.控制机(master)配置
1.1修改 jmeter.properties
remote_hosts=【配置从机ip:端口】
找到jmeter.properties,打开搜索(ctrl+F)remote_hosts
控制机配置所有执行机ip,把server.rmi.ssl.disable改成true
1.2修改 jmeter.bat
set rmi_host=-Djava.rmi.server.hostname=主机ip
默认没有,需要自己加一下
1.3自己的电脑也作为压力机的话,启动 jmeter-server.bat
2.执行机(slave)配置
2.1修改 jmeter.properties
server_port=【从机端口】
server.rmi.port=【从机端口】
server.rmi.localport=【从机端口】
server.rmi.ssl.disable=true(保证远程连接通畅)
默认没有,需要自己加一下
2.2修改 jmeter-server
RMI_HOST_DEF=-Djava.rmi.server.hostname=从机ip