jmeter 镜像构建

jmeter 镜像构建

准备

  • 下载 jmeter 安装包,官网下载
wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-${JMETER_VERSION}.tgz

wget https://downloads.apache.org/jmeter/binaries/apache-jmeter-5.6.3.tgz
  • 下载 jmeter 插件包,默认的若不满足,先下载PluginsManager,https://jmeter-plugins.org/wiki/PluginsManager/
  • 手动打包插件
    Windows目录 C:\johnny\soft\apache-jmeter-5.6.3\lib\ext 将所有插件打包,plugins.tar

normal dockerfile

# Author: johnny

FROM openjdk:8

WORKDIR /opt/

ARG JMETER_VERSION=5.6.3

COPY apache-jmeter-${JMETER_VERSION}.tgz /opt

RUN mkdir /opt/{test,report} && \
    tar -xzf apache-jmeter-${JMETER_VERSION}.tgz && \
    mv apache-jmeter-${JMETER_VERSION} jmeter && \
    rm apache-jmeter-${JMETER_VERSION}.tgz
# 按需
ADD plugins.tar /opt/jmeter/lib/ext

ENV JMETER_HOME /opt/jmeter
ENV PATH $JMETER_HOME/bin:$PATH

EXPOSE 8686

CMD ["jmeter", "-n", "-t", "/opt/test/test.jmx", "-l", "/opt/report/result.jtl", "-e", "-o", "/opt/report"]

heap dockerfile

# Author: johnny

FROM openjdk:8

WORKDIR /opt/

ARG JMETER_VERSION=5.6.3

COPY apache-jmeter-${JMETER_VERSION}.tgz /opt

RUN mkdir /opt/{test,report} && \
    tar -xzf apache-jmeter-${JMETER_VERSION}.tgz && \
    mv apache-jmeter-${JMETER_VERSION} jmeter && \
    rm apache-jmeter-${JMETER_VERSION}.tgz
# 按需
ADD plugins.tar /opt/jmeter/lib/ext

ENV JMETER_HOME /opt/jmeter
ENV PATH $JMETER_HOME/bin:$PATH

EXPOSE 8686
# 设置JMeter的堆内存大小
ENV HEAP="-Xms2g -Xmx4g"

CMD ["jmeter", "-n", "-t", "/opt/test/test.jmx", "-l", "/opt/report/result.jtl", "-e", "-o", "/opt/report"]

JMeter的默认堆内存设置通常为-Xms1g -Xmx1g,即初始堆内存和最大堆内存都设置为1GB
如果出现OOM的错误,可检查发压端主机资源,也可以考虑增加JVM堆内存,报错:Uncaught Exception java.lang.OutofMemoryError: Java heap space
增加JVM堆内存:在Dockerfile中添加了ENV HEAP=“-Xms2g -Xmx4g”,这会为JMeter的JVM设置初始堆内存为2GB,最大堆内存为4GB。

构建镜像

docker build -t jmeter:5.6.3 .

运行

run.sh

jmx="$1"
timestamp=$(date +"%Y%m%d-%H%M%S")
echo "Start JMeter"

mkdir -p /home/johnny/jmeter/${jmx%.*}-${timestamp}

docker run --rm --name jmeter -v /home/johnny/jmeter/${jmx}:/opt/test/test.jmx -v /home/johnny/jmeter/${jmx%.*}-${timestamp}:/opt/report jmeter-image

cd /home/johnny/jmeter/${jmx%.*}-${timestamp}

python -m SimpleHTTPServer 9999

bash run.sh 123.jmx

导出report

tar -cvf report.tar report/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值