14-分布式压测

一、分布式压测原理

1、原理

分布式压测分为两块:控制器(controller)和代理(agent)

  • controller负责把脚本分发给agent执行;
  • agent负责执行脚本,产生对服务器的实际压力,agent运行 non GUI model,点击jmeter-server.bat即可。agent执行脚本后,把压测的结果发送给controller。
  • controller作为控制器不加入实际测试,只负责发送和收集agent信息。

二、window配置

1、配置agent

(1)修改jmeter.propertier

  • 找到server_port 去掉 # 设置端口;
  • 找到server.rmi.ssl.disable=false 改成true;

# RMI port to be used by the server (must start rmiregistry with same port) server_port=1099 #设置 server_port 端口 ...... # Password of Trust store #server.rmi.ssl.truststore.password=changeit # # Set this if you don't want to use SSL for RMI server.rmi.ssl.disable=true # 改成true

(2)双击jmeter-server.bat,这个ip有用,要配置到controller机器上的配置文件里。

2、配置controller

(1)打开controller的配置文件 jmeter.properties 找到 remote_hosts,把agent的ip配置进去。

(2)打开 controller的配置文件 jmeter.properties,找到 server.rmi.ssl.disable=false 改成 true

#server.rmi.ssl.truststore.password=changeit # # Set this if you don't want to use SSL for RMI server.rmi.ssl.disable=true # 改成true

3、controller打开,运行一个agent

agent服务上显示运行成功。

三、Linux配置

1、agent节点配置

(1)打开配置文件/bin/jmeter.properties 找到并取消这段配置的注释,false改成true;

# Password of Trust store #server.rmi.ssl.truststore.password=changeit # # Set this if you don't want to use SSL for RMI server_port=1099 #修改端 server.rmi.ssl.disable=true # 改成true

(2)输入命令,启动agent节点,jmeter-server后面的参数指定agent的IP。

jmeter-server -Djava.rmi.server.hostname=10.1.44.122

2、控制机配置

(1)打开配置文件 /bin/jmeter.properties配置agent节点的IP

# Remote Hosts - comma delimited remote_hosts=10.1.44.123:1099,10.1.44.122:1099 #代理机ip和端口,可填写多个 #remote_hosts=localhost:1099,localhost:2010 # RMI port to be used by the server (must start rmiregistry with same port) server_port=1099 server.rmi.ssl.disable=true # 改成true

3、运行控制机

 jmeter -n -t test.jmx -R 10.1.44.122,10.1.44.123 -l test.jtl  或 jmeter -n -t test.jmx -r -l test.jtl  参数 n:非gui运行       t:指定测试脚本        R:指定多少个 agent 启动并参与测试       r: 代表全部 agent 启动并参与测试       l:生成测试结果文件         

四、注意事项

1、保持controller和Agent机器的JDK、jmeter以及插件等配置版本一致;

2、jmeter脚本和测试数据主机和从机两边都要存放。且controller中的jmeter脚本、测试数据的存放路径和agent中的jmeter脚本、测试数据的存放路径一致;

3、确保Controller和Agent机器在同一个子网里面。

4、检查防火墙是否被关闭,端口是否被占用;

5、分布式压测中,通过远程启动代理服务器,默认查看结果树种的响应数据为空,只有错误信息会被报回;

6、分布式测试中,如果一秒启动100个模拟请求,有5个agent,那么需要将脚本的线程数设置为20,否则请求模拟数会变成500,和预期结果相差太大。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sunny10189

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值