jmeter docker 分布式压测

背景

  • fabric 框架源码改完了之后需要测试性能,然后发现怎么也无法打满cpu,所以只能多来几台服务器,多跑几个jmeter了

使用方式:

  • 目录要求:
    • 要有一个 plans目录:
      • 在这里插入图片描述
docker pull jokerlvccc/bench-jmeter:1.0.0
docker tag  jokerlvccc/bench-jmeter:1.0.0 bidsun.com/bench-jmeter:1.0.0
  • 需要将自己的计划文件映射到 : /home/services/bidsun/bench/bashes/
    • -v /Users/joker/company/go/src/github.com/hyperledger/fabric-demo/bashes/test:/home/services/bidsun/bench/bashes/plans/,会自动执行一系列任务,然后会自动导出结果,在同级目录下,不会重复执行(简单的通过jtl判断)
  • 直接压测:
    • docker run -it --name jmeter -p 1099:1099 -p 50000:50000 -e ENV_ARGUMENT="bench " -v /Users/joker/company/go/src/github.com/hyperledger/fabric-demo/bashes/test:/home/services/bidsun/bench/bashes/ bidsun.com/bench-jmeter:1.0.0
  • 只是作为agent:
    • docker run -it --name jmeter -p 1099:1099 -p 50000:50000 -e ENV_HOST="172.224.2.2" -e ENV_ARGUMENT="agent" bidsun.com/bench-jmeter:1.0.0
  • 分布式压测
    • 先在几个服务器上启动agent (如上启动n个agent)
    • 然后在master上启动如下:
      • docker run -it --name jmeter-master -e ENV_ARGUMENT="bench" -e ENV_REMOTE_SERVERS="xxxx需要为agent的ip,默认端口1099可以不写" -v /Users/joker/company/go/src/github.com/hyperledger/fabric-demo/bashes/test:/home/services/bidsun/bench/bashes/ bidsun.com/bench-jmeter:1.0.0

遇到的问题

  • connection refused
    • 因为我是在本机执行,slave 和master在一台机器,刚开始没发现这个问题,后来丢到了服务器,遇到了这个问题,原因在于, 有一个localPort
      在这里插入图片描述
    • 当没有指定 port的时候,是随机的,因为是本机,docker之间没有隔离的话,也是都能访问的,所以没这个问题,但是到了服务器上之后,随机端口没有映射出来,所以会报connection refused
  • The following remote engines have not started:[xxx.xxx.xx.xx]
    • 这个问题是因为访问不到,最开始我是直接通过:-Djava.rmi.server.hostname=ifconfig eth0|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"指定的,这时候的ip会是容器ip,而其他服务器是无法访问到的,然后基于现在docker还不支持容器内获取宿主机ip,所以干脆传入一个ENV_HOST环境变量解决

注意点

  • 必须外抛 server_port (默认是1099)和server_local_port(50000),否则的话无法其他服务器无法识别到
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值