Docker+JMeter单机版+MinIO

基于JMeter5.1.1+MinIO
JMeter发起压测  
MinIO作为文件服务器 

一、目录结构:

Docker+JMeter单机版+MinIO

Dockerfile文件:

FROM ubuntu:18.04
# 基础镜像

MAINTAINER yangjianliang <>
# 作者

RUN sed -i /archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
# 设置apt源为阿里云源

RUN apt-get clean && \
    apt-get update && \
    apt-get upgrade -y
# 检查软件包并升级

RUN ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    apt-get install -y \
    tzdata && \
    rm -rf /var/lib/apt/lists/*
# 设置时区

ADD jdk-8u201-linux-x64.tar.gz /usr/local/java
ENV JAVA_HOME=/usr/local/java/jdk1.8.0_201
ENV JRE_HOME=/usr/local/java/jdk1.8.0_201/jre
ENV PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
# 安装Java

ADD apache-jmeter-5.1.1.tgz /usr/local/jmeter
ENV JMETER_HOME=/usr/local/jmeter/apache-jmeter-5.1.1
ENV JMETER_PATH=${JMETER_HOME}/bin:${PATH}
ENV PATH=${JMETER_HOME}/bin:${PATH}
# 安装JMeter

RUN sed -i ‘$a sampleresult.default.encoding=UTF-8‘ /usr/local/jmeter/apache-jmeter-5.1.1/bin/jmeter.properties && \
    sed -i ‘159s/256/512/g‘ /usr/local/jmeter/apache-jmeter-5.1.1/bin/jmeter
# 修改JMeter配置文件

COPY minio /usr/local
# 安装MinIO

RUN chmod +x /usr/local/minio
# 赋权

ENV MINIO_ACCESS_KEY=admin
ENV MINIO_SECRET_KEY=admin123456
# 设置账号密码

EXPOSE 9000
# 暴露9000端口

CMD /usr/local/minio server /data
# 启动MinIO

二、打包:

docker build -t jmeter-minio .

等待一会儿:

Docker+JMeter单机版+MinIO

三、运行:

docker run -it -p 9000:9000 jmeter-minio:latest /bin/bash

# 启动容器暴露9000端口并进入容器内部

/usr/local/minio server /data

# 手动启动minio

Docker+JMeter单机版+MinIO

访问:

http://127.0.0.1:9000/

账号:admin

密码:admin123456

Docker+JMeter单机版+MinIO

Docker+JMeter单机版+MinIO

Docker+JMeter单机版+MinIO

Docker+JMeter单机版+MinIO

Docker+JMeter单机版+MinIO

Docker+JMeter单机版+MinIO

Docker+JMeter单机版+MinIO

Docker+JMeter单机版+MinIO

jmeter -JN=10 -JT=5 -n -t /data/test/baidu.jmx -l /data/test/baidu.jtl -e -o /data/test/report

# 执行压测命令

jmeter -J线程数变量名=值1 -J持续时间变量名=值2 -n -t jmx脚本 -l jtl文件 -e -o 测试报告目录
传递参数的运行命令
大写的J
N为线程数
T为持续时间(单位为秒)

Docker+JMeter单机版+MinIO

Docker+JMeter单机版+MinIO

第二次运行:

再次发起压测时,可修改线程数与持续时间,并修改jtl文件名与Dashboard Report测试报告文件名,jmx脚本不需要修改
jmeter -JN=20 -JT=10 -n -t /data/test/baidu.jmx -l /data/test/baidu_2.jtl -e -o /data/test/report_2

Docker+JMeter单机版+MinIO

Docker+JMeter单机版+MinIO