Jmeter分布式测试-----远程连接多台电脑
在使用Jmeter进行接口的性能测试时,由于Jmeter 是JAVA应用,对于CPU和内存的消耗比较大,当模拟的并发数高的时候,容易造成JAVA内存溢出,使用远程负载来分担压力
一、Jmeter分布式执行原理:
1、 Jmeter分布式测试时,选择一台为控制机器(Controller),其它机器做为代理机(Agent)
2、执行时,Controller会把脚本发送到每台Agent上,Agent 拿到脚本后开始执行,Agent执行时不需要启动Jmeter,只需要把jmeter-server.bat文件打开即可。
3、执行后,Agent会把结果回传给Controller,Controller会收集所有Agent的信息并汇总
二、代理机(Agent)配置:
1、Agent机上需要安装JDK、Jmeter,并且配置好环境变量。
2 、Agent找到IP 地址,打开Jmeter/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,把这一行修改为”remote_hosts=192.168.8.149:1099,1099是端口号,可以随意自定义
4、打开jmeter-server.bat文件,就设置完成了,等待控制机(Controller)启动
三、代理机(Agent)配置:
1、 Controller机上第一步和Agent一样(看上面)
2、Controller找到IP 地址,打开Jmeter/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,把这一行修改为”remote_hosts=192.168.8.149:1099,192.168.8.174:1099,1099是端口号,可以随意自定义。如果有多台代理机,这里需要把所有的代理机的IP地址和端口号都加入进来
打开jmeter-server.bat文件,设置完成了。
四、前置条件启动
-
负载机启动jmeter-server.bat文件

-
Controller(控制机)启动 jmeter-server.bat文件

-
jmeter线程设置如下 设置10个线程 循环1次,一台机器启动10个

五 验证负载机 -
只启动负载机,查看结果
一台负载机运行,显示一台机器的结果 10 *1 *1=10




- 只启动控制机 显示结果
一台控制器运行,显示一台机器的结果 10 *1 *1=10




| 全部启动,控制机和负载机同时启动,在控制机上显示的是2台机器结果 10*1*2=20 |




本文介绍了如何使用Jmeter进行分布式测试,以缓解高并发时CPU和内存压力。首先,讲解了Jmeter分布式执行的基本原理,即控制机发送脚本至代理机执行并收集结果。接着,详细阐述了代理机和控制机的配置步骤,包括修改jmeter.properties文件中的remote_hosts设置。最后,通过实例展示了在不同启动组合下,控制机和负载机的结果汇总,验证了分布式测试的正确性和性能提升效果。




被折叠的 条评论
为什么被折叠?



