美文网首页压测
Jmeter基于Docker的分布式压测

Jmeter基于Docker的分布式压测

作者: 笔记本Q | 来源:发表于2020-05-15 16:19 被阅读0次

Jmeter基于Docker的分布式压测

Jmeter基于docker分布式压测的测试环境搭建
  • 在本机按照自己的习惯找一个目录存放新建的Dockerfile文件
mkdir Jm_Docker
cd Jm_Docker
touch Dockerfile
  • 在Dockerfile文件中写入如下内容:
FROM openjdk:8-jre-slim
MAINTAINER TesterHome
ARG JMETER_VERSION=5.1.1
# Install few utilities
RUN apt-get clean && \
    apt-get update && \
    apt-get -qy install \
                wget \
                telnet \
                iputils-ping \
                unzip

# Install JMeter
RUN   mkdir /jmeter \
      && cd /jmeter/ \
      && wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-$JMETER_VERSION.tgz \
      && tar -xvzf apache-jmeter-$JMETER_VERSION.tgz -C /jmeter \

# Set ENV
ENV JMETER_HOME /jmeter/apache-jmeter-$JMETER_VERSION/
ENV PATH $JMETER_HOME/bin:$PATH

主要做的事情是做一个基础的jmeter镜像。其中做了以下事

  1. 定义了Jmeter的版本:JMETER_VERSION。
    ⚠️注意,在修改Jmeter版本时,先自己手动确认一下自己需要的版本在链接https://archive.apache.org/dist/jmeter/binaries/中存在。
  2. 安装自己指定的Jmeter,并配置好Jmeter的环境变量
  • 在Dockerfile文件所在目录下执行以下命令。
    【.】表示当前目录下即Dockerfile文件所在的目录;test1是对应镜像的标签;jm是镜像的REPOSITORY,都可以自己定义
Jm_Docker# docker build -t jm:test1 .
  • 在命令行执行docker images查看所有镜像,就可以看到自己构建的jmbase镜像。

  • 修改Dockerfile文件中内容如下:这个做Jmeter分布式中的slaves

# Use jmbase image
# 使用jm基本映像
FROM jm:test1
MAINTAINER TesterHome
# Ports to be exposed from the container for JMeter Slaves/Server
# 从JMeter Slaves/Server的容器中要公开的端口
EXPOSE 1099 50000
# Application to run on starting the container
# 启动容器 运行应用程序
ENTRYPOINT $JMETER_HOME/bin/jmeter-server \
                        -Dserver.rmi.localport=50000 \
                        -Dserver_port=1099
  • 命令行中输入docker build -t slaves:server .

  • 再次修改Dockerfile文件内容如下:做Jmeter分布式中的master

# Use jmbase image
FROM jm:test1
MAINTAINER Testerhome
# Ports to be exposed from the container for JMeter Master
EXPOSE 60000
  • 命令行执行docker build -t master:server .
  • 命令行执行docker imagers就会看到如图所示已经建好的images
  • 运行以下命令启动master和slaves
docker run -it -d --name jmmaster  master:server
docker run -it -d --name jmslave01 slaves:server
docker run -it -d --name jmslave02 slaves:server
  • docker ps可以看到已经运行起来的容器
  • 输入以下命令找到对应的slaves的ip地址,并记录下来
docker inspect --format '{{ .Name }} => {{ .NetworkSettings.IPAddress }}' $( docker ps -a -q)
  • 配置jmeter.properties文件,修改文件中以下配置项
remote_hosts=ip1:port,ip2.port
server.rmi.ssl.disable=true
  • 把修改好的配置文件放到jmmaster容器中
docker cp ./jmeter.properties jmmaster:/jmeter/apache-jmeter-5.1.1/bin/
  • 再次修改一份jmeter.properties,只修改以下一项
server.rmi.ssl.disable=true
  • 把修改好的文件分别放到jmslave01、jmslave02中
docker cp ./jmeter.properties jmslave01:/jmeter/apache-jmeter-5.1.1/bin/
jmeter分布式测试执行
  • 把测试脚本放到jmmaster容器中
    docker cp ./Ds_register.jmx jmmaster:/jmeter
  • 进入jmmaster容器
    docker exec -it jmmaster /bin/bash
  • 执行测试脚本
    jmeter -n -t /jmeter/apache-jmeter-5.1.1/bin/test1.jmx -l /test.jtl -R 172.18.0.3,172.18.0.4
  • 拿出测试结果
    docker cp jmmaster:/jmeter/apache-jmeter-5.1.1/bin/1.jtl ./
参考文件

https://msd.misuland.com/pd/4133852421208147062?page=1
https://blog.csdn.net/weixin_43291944/article/details/99712308
https://blog.csdn.net/zbj18314469395/article/details/104566755/
https://help.aliyun.com/document_detail/51853.html

相关文章

  • Jmeter基于Docker的分布式压测

    Jmeter基于Docker的分布式压测 Jmeter基于docker分布式压测的测试环境搭建 在本机按照自己的习...

  • Jmeter分布式压测的配置及注意事项

    1、Jmeter分布式压测的目的: 避免单机压测的物理硬件限制,更加贴近真实情况 2、Jmerer分布式压测的原理...

  • jmeter 分布式压测配置Linux

    本文只讲jmeter分布式压测怎么在Linux环境下配置:使用分布式压测,是因为单个压测机并发到不到系统要求,所以...

  • 使用boost::asio 模拟JMeter做分布式压测网络部分

    本例使用boost::asio模拟jmeter做分布式压测网络部分的原理,虽然比较简单,但基本可以实现分布式压测的...

  • 分布式压测

    1.本地机器由于本身自己的配置低,只能压到1000个并发,此时就需要分布式压测 2.Jmeter压测原理 Mast...

  • Jmeter分布式压测

    进行性能测试时,由于单台机器模拟并发用户数量有限,希望用多台负载机进行负载模拟。我们可以在多台机器上分别部署Jme...

  • Jmeter分布式压测

    简单来说就是,多台机器同时安装jmeter,选择一台机器作为调度机,其他作为压力机。进行相应的配置后,就可以用调度...

  • JMeter分布式压测

    一. 背景 在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持4000并发),单台压测机的配...

  • Jmeter分布式压测

    什么是分布式压测: 1.分布式测试中,选择一台作为管理机(Contorller),其他的机器作为测试执行的代理机(...

  • Jmeter分布式压测

    1.配置 分布式压测需要一台调度机(Controller)和N台执行机(Slave)所有服务器安装JDK版本一致所...

网友评论

    本文标题:Jmeter基于Docker的分布式压测

    本文链接:https://www.haomeiwen.com/subject/lvotohtx.html