基于JMeter5.1.1+File Browser2.1.0
JMeter发起压测
File Browser作为文件服务器
一、目录结构:
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
RUN sed -i ‘159s/256/512/g‘ /usr/local/jmeter/apache-jmeter-5.1.1/bin/jmeter
# 修改JMeter配置文件
ADD linux-amd64-filebrowser.tar.gz /usr/local
# 安装File Browser
RUN usr/local/filebrowser -d /etc/filebrowser.db config init
# 配置数据库
RUN usr/local/filebrowser -d /etc/filebrowser.db config set --address 0.0.0.0 --port 80 --root /home --scope /home --locale zh-cn --log stdout --branding.name "JMeter压测"
# 配置地址、端口、根目录、用户作用域、语言、日志、Title
RUN usr/local/filebrowser -d /etc/filebrowser.db users add admin 123456 --perm.admin
RUN usr/local/filebrowser -d /etc/filebrowser.db config set --auth.method=noauth
# 用户名和密码,admin用户无身份验证
EXPOSE 80
# 暴露80端口
CMD /usr/local/filebrowser -d /etc/filebrowser.db
# 启动filebrowser
二、打包:
docker build -t docker-jmeter-filebrowser .
等待一会儿:
三、运行:
docker run -it -p 80:80 docker-jmeter-filebrowser:latest /bin/bash
# 启动容器暴露80端口并进入容器内部
/usr/local/filebrowser -d /etc/filebrowser.db
#手动启动filebrowser
访问:
jmeter -JN=10 -JT=5 -n -t /home/baidu.jmx -l /home/baidu.jtl -e -o /home/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 /home/baidu.jmx -l /home/baidu_2.jtl -e -o /home/report_2
原文:https://www.cnblogs.com/yjlch1016/p/12219222.html