Docker+JMeter单机版+MinIO
基于JMeter5.1.1+MinIO
JMeter发起压测
MinIO作为文件服务器
一、目录结构:
Dockerfile文件:
FROM ubuntu:18.04
# 基础镜像
MAINTAINER yangjianliang <526861348@qq.com>
# 作者
RUN sed -i s@/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 run -it -p 9000:9000 jmeter-minio:latest /bin/bash
# 启动容器暴露9000端口并进入容器内部
/usr/local/minio server /data
# 手动启动minio
访问:
账号:admin
密码:admin123456
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为持续时间(单位为秒)
第二次运行:
再次发起压测时,可修改线程数与持续时间,并修改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