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

访问:

http://127.0.0.1:9000/

账号: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

Docker+JMeter单机版+MinIO的更多相关文章

  1. Docker+JMeter单机版+File Browser

    基于JMeter5.1.1+File Browser2.1.0  JMeter发起压测  File Browser作为文件服务器 一.目录结构: Dockerfile文件: FROM ubuntu:1 ...

  2. Docker+JMeter单机版+Nginx

    基于JMeter5.1.1+Nginx1.12.2JMeter发起压测  Nginx作为文件服务器 一.目录结构: Dockerfile文件: FROM ubuntu:18.04# 基础镜像 MAIN ...

  3. AWS EC2+Docker+JMeter构建分布式负载测试基础架构

    目录 概述及范围 前提条件 Part 1: Local setup-本地配置 Part 2: Cloud端基础架构--Infrastructure 总结: 原文链接 @ 概述及范围 本文介绍有关如何使 ...

  4. Linux或Docker里安装minio / Docker中安装h5ai

    此文为单节点搭建操作 Linux中搭建minio 对象存储服务器 下载minio安装包 wget https://dl.minio.io/server/minio/release/linux-amd6 ...

  5. Docker+JMeter+InfluxDB+Grafana从容器内部发起压测

    1.自由定制JMeter镜像: Dockerfile文件: FROM java:8# 基础镜像 MAINTAINER yangjianliang <526861348@qq.com># 作 ...

  6. Docker+Jmeter+InfluxDB+Grafana搭建性能测试监控平台

    搭建需求? jmeter自身的聚合测试报告可视化效果极差,为更加形象的.动态的展示测试过程,需要一个具有时序性的可视区来展示给我们的测试者, 这时候就需要用到后端监控,下面我们来开始搭建符合这种测试需 ...

  7. docker compose 部署 minio

    1.docker-compose.yaml 文件如下: version: '3' services: minio: image: minio/minio:latest # 原镜像`minio/mini ...

  8. MinIO Docker 快速入门

    官方文档地址:http://docs.minio.org.cn/docs/master/minio-docker-quickstart-guide 在Docker中运行MinIO单点模式 MinIO ...

  9. minio test

    docker pull minio/minio docker run --name=minio -d  -p 9001:9000 minio/minio server /data https://do ...

随机推荐

  1. Python面向对象设计小结

    转自林海峰老师,学习之余做的笔记. class School: zhuti='学生和老师‘ def __init__(self,name,dic,country): self.mingzi=name ...

  2. Node.js核心模块-net

    net.Socket 类 socket.remotePort 访问服务器的远程端口 const http = require('http'); const server = http.createSe ...

  3. vim 进化 编码问题

    " 解决菜单乱码 source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim " 防止文件显示乱码 set fileenc ...

  4. 【WCF Restful】Post传参示范

    1.传多个参数 接口定义:(ResponseFormat与RequestFormat分别将相应参数序列化.请求参数反序列化) [OperationContract] [WebInvoke(UriTem ...

  5. 《自拍教程18》adb_Android设备debug连接工具

    adb命令介绍 做Android App测试,Android手机系统测试, 还有很多Android终端产品(手表,车载,智能电视,智能手表等) 都必须用adb命令,通过USB接口,与Android设备 ...

  6. 初始socket编程

    服务端语法 import socket # 导入套接字模块# 生成一个socket对象进行网络编程操作server = socket.socket(family=socket.AF_INET, typ ...

  7. day 9 深浅拷贝

    浅copy 现有数据 data = { "name":"alex", "age":18, "scores":{ &quo ...

  8. Django---Django连接Mysql数据库

    前面介绍了Django平台的数据交互,这些数据都是在本地存放着,修改内容或者重新启动服务,数据就消失了,如果我们把数据存放在数据库中,不就保存了吗? Django数据库 Django中自带的也有数据库 ...

  9. opencv —— getTickCount、getTickFrequency 计时函数

    getTickCount 函数 返回 CPU 自某个事件(如启动电脑)以来走过的时钟周期数. getTickFrequency 函数 返回 CPU 一秒钟所走过的时钟周期数. 二者结合使用,可以用来计 ...

  10. maven的核心概念——聚合

    第十六章聚合 16.1 为什么要使用聚合 将多个工程拆分为模块后,需要手动逐个安装到仓库后依赖才能够生效.修改源码后也需要逐个手动进行clean操作.而使用了聚合之后就可以批量进行Maven工程的安装 ...