jmeter -- 分布式准备和运行

分布式场景

  • 单压力机的CPU、内存、网络带宽等性能瓶颈,导致达不到目标QPS

压测准备

  • master节点:jmeter工具包、参数化文件、压测脚本。参数化文件一般放在apache-jmeter-*/bin/目录下
  • slave节点:jmeter工具包、参数化文件。压测时master会将脚本同步到slave节点

压测运行

  • 启动slave节点
    使用/bin/jmeter-server命令启动slave节点作为压力服务机,供master节点调用
  • 出现报错: An error occurred: Cannot start. WH-C02XM7GSJHCD.local is a loopback address,原因是默认使用的是回环地址
    解决方法1: bin/jmeter-server文件30行修改为:RMI_HOST_DEF=-Djava.rmi.server.hostname=本机ip
    解决方法2: 在命令后加上:-Djava.rmi.server.hostname=本机ip
  • 出现报错: java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)
    解决方法1: bin/jmeter.properties文件345行修改为:server.rmi.ssl.disable=true
    解决方法2: 在命令后加上:-Dserver.rmi.ssl.disable=true
  • 设置master机器要远程连接的端口(非必须): -Dserver_port=1099, 即 remote_hosts=xxxx:1099
  • 设置slave server启动显示的端口(非必须): -Dserver.rmi.localport=50000

在不修改jmeter工具包配置文件的情况下,最终命令为

./jmeter-server  -Djava.rmi.server.hostname=localhost -Dserver.rmi.localport=50000 -Dserver_port=1099 -Dserver.rmi.ssl.disable=true

>Using local port: 50000
>Created remote object: UnicastServerRef2 [liveRef: [endpoint:[10.12.224.18:50000](local),objID:[-32da1250:1845f60665b:-7fff, 3563942364378927893]]]
  • 启动master节点
vim apache-jmeter-*/bin/jmeter.properties文件 
	remote_hosts=ip1:1099,ip2:port (268行,master节点作压测机时也需配置ip,不能使用127.0.0.1)

# 运行:-r启动所有slave,-R指定ip启动指定slave
jmeter -n -t *.jmx -l test1.jtl -r
# 根据测试结果生成html测试报告
mkdir report1 && jmeter -g test1.jtl -e -o report1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值