jmeter分布式部署

前言

    最近小编在做压力测试,用到的工具是jmeter,之前小编在jmeter压测分析中提到了针对测试报告,可以对代码、打包方式和服务器架构做调整和优化,但是还有一点需要注意,就是jmeter本身只是一款软件,过大的并发量全都集中在一个软件和一台服务器中,最后测试报告中数据不理想也有一定程度是由jmeter本身和jmeter本身所在服务器性能、网络状态造成的,所以针对此,小编做了jmeter分布式,利用多台服务器进行分布式压测。


jmeter分布式部署 到底是什么?

    jmeter分布式部署,会将一台作为调度机(master),其他机器作为执行机(slave),我的理解是调度机就是boss,只负责分发任务,收集结果,执行力就是员工,负责真正的执行。执行时,调度机会把脚本发送到每台执行机上,执行机拿到脚本后就开始执行。执行结束后,执行机会把结果会传到调度机中,调度机会收集所有执行机的信息并且进行汇总。

    这样,加入我们需要800的并发量,如果有两台执行机,那么每台执行机同时进行400并发,不仅做到了要求的800并发,而且将800并发分散到了两台机器上,一定程度降低了服务器CPU、内存、网络等问题对压测结果造成的困扰。当然,并发量和执行机数量根据实际情况而定(服务器配置、网络情况)。


jmeter分布式部署,如何做呢?

前提

调度机和所有的执行机都需要安装jdk和jmeter。详情请参考Linux下安装jmeter


步骤

1.执行机

修改jmeter的bin 目录下的jmeter.properties文件,修改server_port和server.rmi.localport两行为端口号。格式如下:

server_port=1099
server.rmi.localport=1099


2.调度机

修改jmeter的bin目录下的jmeter.properties文件,找到remote_hosts一行,修改为所有执行的ip和端口。格式如下:

remote_hosts=192.168.xx.xx:1099,192.168.aa.bb:1099 


3.测试

(1).启动所有执行机的server服务,即bin目录下jmeter-server,命令如下:

jmeter-server -Djava.rmi.server.hostname=192.168.xx.xx
(2).调度机执行分布式指令

jmeter -n -t test.jmx -R 192.168.xx.xx,192.168.xx.xx -l test.jtl 
或者

jmeter -n -t test.jmx -r -l test.jtl
前者是写出了执行机的IP,即规定那几台执行机记性,后者用-r代表所有执行机都执行。

注意(特别重要,这几点都有注意到,不然满地的坑)

1.关闭所有执行机和调度机的防火墙。

2.执行机和调度机jmeter版本一定要一致并且安装目录一致。

3.jmeter分布式默认端口为1099,网上有用成功的,但是我没有用成功,如果1099没有用成功,那么可以看一下那些端口没有被使用,再使用。

4.如果用到了CSV进行了参数化,那么调度机上也要放置csv文件,并且路径也要一致。

总结

    jmeter分布式部署和测试,虽然满地是坑,走了不少弯路,但是最终成功的一刻还是超级欣慰的是。研究东西一定要具备耐心和毅力,相信自己,会做到的!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值