Jmeter linux 分布式压测方法、原理及注意事项(使用2.13版本)

机器分布:

  • 1 master 2 slave

修改内容:

  • 修改jmeter-server文件(slave机器):

    • 修改/添加如下代码:RMI_HOST_DEF=-Djava.rmi.server.hostname=**** (****为每台server自己的ip)
  • 修改jmeter.properties文件(master机器)
    • jmeterengine.nongui.port=0 (大概1038行,修改/添加)
  • 启动slave机器:
    • 启动命令:./jmeter-server
    • 成功将回显:
      • (Created remote object: UnicastServerRef [liveRef: [endpoint:[xxxx:12989](local),objID:[-2a48d839:1633e9e77f3:-7fff, -6740358428425422313]]])
  • 启动master机器:
    • 指定slave机器的方式:
      • (1)运行命令,指定slave ip的方式,启动时-R指定slave ip,逗号分割;
        • 启动命令:./jmeter -n -t ws_test.jmx -R ***,*** -l test.jtl -e -o /apache-jmeter-3.2/test/report/
      • (2)配置文件指定slave ip的方式,文件指定修改master机器的jmeter.properties文件中,指定执行机器remote_hosts=ip:port,ip1:port1,slave的port可以到slave机器的jmeter-server文件查看SERVER_PORT
        • 启动命令:./jmeter -n -t ws_test.jmx -r -l test.jtl -e -o /apache-jmeter-3.2/test/report/
    • 成功将回显:


分布式执行原理:

  • Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave);
  • 执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行;
    • 举例:如果当前有5台slave机器,预期你要提供500线程的压力,那么jmx文件中只需要设置100线程即可;
  • 执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总。

注意事项:

  • jmeter在slave各个机器上的版本要一致,否则引起报告数据统计可能异常;
  • 如果是参数化构建(比如设置csv-data数据),则需要将对应的csv-data数据分发到各个slave机器指定目录,并在jmx文件中指定好统一目录;
  • 在non-gui模式下,如果要生成带有分位点信息的报告,执行时增加 -l my.jtl参数;执行完成后,将my.jtl文件放入gui模式下的『聚合报告』中打开(浏览->选择my.jtl文件)即可;

    • 注意务必每次导入的时候要清理一下数据(点击"扫帚"),否则,每次的数据会与上次的数据进行叠加处理,引起数据失真;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值