Jmeter 基于Docker 实现分布式测试

使用Docker 部署Jmeter非常方便,可以省略软件的安装以及配置,比如jdk、jmeter。需要部署多个工作节点可以节省时间。

在这里插入图片描述

  1. 控制节点(Master-主节点)只有一个,可以使用图形化的界面,方便操作
  2. 工作节点(Slave-从节点)使用Docker部署Jmeter镜像,工作节点的数量越多越好。
  3. 控制节点使用RMI 调用工作节点
  4. 控制节点测试计划设置的线程数量约等于工作节点宿主机能同时工作的线程数,这样能真实模拟用户同时发起的请求,压测的结果也准确些

制作Jmeter基础镜像

  1. 下载jmeter安装包 https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.6.3.tgz
  2. 编写 Dockerfile
FROM openjdk:8-jdk-alpine3.9
ARG JMETER_VERSION=5.6.3

# 设置工作目录
WORKDIR /opt/jmeter

# 复制 Jmeter
COPY apache-jmeter-${JMETER_VERSION}.tgz   ./

# 安装
RUN tar -xvzf apache-jmeter-$JMETER_VERSION.tgz \
    && rm apache-jmeter-$JMETER_VERSION.tgz

# 设置环境变量
ENV JMETER_HOME /opt/jmeter/apache-jmeter-$JMETER_VERSION/
ENV PATH="$JMETER_HOME/bin:${
    
    PATH}"
  1. 文件目录关系如下
root@ubuntu:/home/chengdu/jmeter/docker# tree
.
├── apache-jmeter-5.6.3.tgz
├── Dockerfile
└── worker
    └── Dockerfile.worker
  1. 执行编译镜像命令
docker build -t jmeter:5.6.3 .
  1. 查看镜像是否编译成功
root@ubuntu:/home/chengdu/jmeter/docker# docker images|grep jmeter
jmeter                   5.6.3             37a73dacbe58   4 hours ago     342MB
jmeter-5.6.3             worker            80ae9383e488   4 hours ago     342MB

制作工作节点镜像

基于第一步的基础镜像制作

FROM jmeter:5.6.3

# 默认使用1099端口,可以用参数覆盖
ARG RMI_PORT=1099
ARG LOCAL_PORT=50000

ENTRYPOINT $JMETER_HOME/bin/jmeter-server \
                        -Dserver_port=${RMI_PORT} \
                        -Dserver.rmi.localport=${LOCAL_PORT} \
                        -Djava.rmi.server.hostname=${HOST_IP} \
                        -Jserver.rmi.ssl.disable=true

保存为 Dockerfile.worker,运行编译镜像命令

docker build -f Dockerfile.worker -t jmeter-5.6.3:worker .

启动工作节点

启动3个工作节点,注意,HOST_IP 变量可以填写宿主机的IP确保控制节点的网络能当前的宿主机

docker run -p 1099:1099 -p 50000:50000 -e RMI_PORT=1099 -e LOCAL_PORT=50000 -e HOST_IP=192.168.230.128 -it -d --name jmeter-worker-01 jmeter-5.6.3:worker

docker run -p 1100:1100 -p 50001:50001 -e RMI_PORT=1100 -e LOCAL_PORT=50001 -e HOST_IP=192.168.230.128
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Chengdu.S

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

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

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

打赏作者

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

抵扣说明:

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

余额充值