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 |