Docker+JMeter+File Browser

Posted yjlch1016

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker+JMeter+File Browser相关的知识,希望对你有一定的参考价值。

基于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

访问:

http://127.0.0.1/

技术图片

 

技术图片

 

 技术图片

 

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为持续时间(单位为秒)

技术图片

 

再次访问:

http://127.0.0.1/

技术图片

 

第二次运行:

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

技术图片

以上是关于Docker+JMeter+File Browser的主要内容,如果未能解决你的问题,请参考以下文章

如何对Jmeter进行Docker化(使用Docker和Jmeter进行分布式测试)

在JMeter中提取href的一部分

Docker+JMeter+Nginx

如何在 JMeter 中测量 Docker 容器 CPU 和内存并将其与其他 Docker 容器进行比较

连接到 jmeter 从属 docker 容器时连接被拒绝错误

基于Docker的JMeter分布式压测