行业资讯
分享专栏文章,携手打造高质量产品
当前位置:首页 > 行业资讯 > Jmeter分布式压测详解
Jmeter分布式压测详解
发布时间:2022-10-19 浏览数:0
什么是jmeter分布式压测?


jmeter分布式压测:指将需要模拟的大量并发用户数分发到多台压力机,使jmeter拥有更大的负载量,满足真实业务场景(高并发场景)。可以理解为通过一个Jmeter控制台来远程控制多个Jmeter引擎(压力机、负载机、执行机)完成测试。 



为什么jemter要做分布式压测?





image




jmeter分布式压测的目的是什么?


image



jmeter分布式压测的原理


meter分布式原理:由控制机分发压测脚本到每台远程执行机(压力机),然后由控制机收集执行机结果。

ps:控制机可以执行测试脚本,也可以不执行只负责管理。执行机(压力机)系统不限,可以是win、mac、linux。

image


  • Jmeter分布式测试时,选择其中一台作为控制机(Controller),其它机器作为代理机(Agent),也可以叫做压力机/负载机/执行机。

  • 执行时,控制机自动将测试计划(压测脚本)发送到每台压力机上,压力机拿到脚本后开始执行,压力机执行时不需要启动Jmeter,只需要把jmeter-server.bat文件打开,它应该是通过命令行模式来执行的。

  • 执行后,压力机把结果回传给控制机,控制机收集所有压力机的信息并汇总。


注意事项


image

Ps:拾取不到脚本参数文件,${__P(user.dir,)}${__P(file.separator,)}test.csv【文件需要在bin目录下】



分布式压测步骤


1.控制机(master)配置 

1.1修改 jmeter.properties

 

 

image

image

image

remote_hosts=【配置从机ip:端口】

 

image


image


 

1.2修改 jmeter.bat

 

image

image

image

 

 

set rmi_host=-Djava.rmi.server.hostname=主机ip

默认没有,需要自己加一下

image

image

 

 

2. 执行机(slave)配置 

2.1修改 jmeter.properties

进入bin目录下,输入命令:vim jmeter.properties

 

image


image

 

remote_hosts=【从机ip:端口】

 

image

server_port=【从机端口】

 

image

server.rmi.port=【从机端口】

 

image

server.rmi.localport=【从机端口】

 

图片

server.rmi.ssl.disable=true(保证远程连接通畅)

默认没有,需要自己加一下

 

image

2.2修改 jmeter-server

进入bin目录下,输入命令:vim jmeter -server

 

image


image

RMI_HOST_DEF=-Djava.rmi.server.hostname=从机ip

 

image

3. 远程机启动 

进入bin目录下,输入命令:

./jmeter-server -Djava.rmi.server.hostname=从机ip

 

image


如果启动不了,需要在bin目录下输入命令:chmod 777 jmeter-server,给他赋权

4. 执行机启动 

image

image

信息来源:易迪森技术部 吴娟