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
最新文章
- Android Weekly Notes Issue #231
- *HDU 1237 栈
- Windows Phone 8.1 新特性 - 常用的启动器
- sdutoj 2605 A^X mod P
- php升级5.3到5.4,5.5,5.6
- WSUS更新服务器
- WCF学习笔记
- NC保存报dirty解决方法
- Form验证(转)
- 【足迹C++primer】46、动态存储类
- Openjudge-NOI题库-和为给定数
- 创建类似于Oracle中decode的函数
- c语言 基本运算
- C++ set用法以及迭代器用法
- 指定的经纬度是否落在多边形内 java版
- 使用vuejs2.0和element-ui 搭建的一个后台管理界面
- spring配置redis
- pyqt 不规则形状窗口显示
- apache2.4.33伪静态配置入门教程(1)
- VS中为非控制台程序提供控制台输出窗口