专业编程基础技术教程

网站首页 > 基础教程 正文

Docker方式部署jmeter

ccvgpt 2024-08-09 11:55:36 基础教程 10 ℃

一、背景

由于公司最近在做业务压力测试,由于测试部同事本机电脑无法达到要求,选择方案为使用jmeter分部署压测,master端安装在PC电脑上,slave安装多台linux电脑,slave安装麻烦。

协助测试部制作slave镜像,以达到快速部署、启动、卸载,同时降低同事操作linux命令为目的。

Docker方式部署jmeter

二、文档说明

Dockerfile: 镜像制作文件

install.sh: 安装脚本

start.sh: 启动容器脚本

stop.sh: 停止容器脚本

三、脚本

[root@localhost jmeter]# vim Dockerfile
FROM centos:7
MAINTAINER jmeter_slave
ARG JMETER_VERSION=5.4.1

RUN yum -y install wget && \
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak && \
    wget -O /etc/yum.repos.d/CentOS-Base.repo <http://mirrors.aliyun.com/repo/Centos-7.repo> && \\
    yum makecache && \
    yum -y install java-1.8* socat telnet iputils-ping unzip net-tools procps vim net-tools openssh-client 

RUN mkdir /jmeter \
    && cd /jmeter/ \
    && wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-$JMETER_VERSION.tgz \
    && tar -xvzf apache-jmeter-$JMETER_VERSION.tgz -C /jmeter \
    && rm apache-jmeter-$JMETER_VERSION.tgz \
    && sed -i "s/#server.rmi.ssl.disable=false/server.rmi.ssl.disable=true/g" /jmeter/apache-jmeter-$JMETER_VERSION/bin/jmeter.properties

ENV JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64
ENV JRE_HOME ${JAVA_HOME}/jre
ENV JMETER_HOME /jmeter/apache-jmeter-$JMETER_VERSION
ENV CLASSPATH $JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:.:${JAVA_HOME}/lib:${JRE_HOME}/lib
ENV PATH $JMETER_HOME/bin:${JAVA_HOME}/bin:$PATH

WORKDIR $JMETER_HOME
EXPOSE 1098 50000

CMD $JMETER_HOME/bin/jmeter-server \
    -Dserver.rmi.ssl.disable=true \
    -Dserver.rmi.localport=50000 \
    -Dserver_port=1098 \
    -Djava.rmi.server.hostname=${HOST_IP}
[root@localhost jmeter]# vim docker_install.sh
#!/bin/bash
yum install -y yum-utils device-mapper-persistent-data lvm2 &&
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum -y install docker-ce
systemctl enable docker
systemctl start docker
[root@localhost jmeter]# vim start.sh
#!/bin/bash
docker build -t jmeter_slave:latest .
ip=`hostname -I|awk '{print $1}'`

docker run -d -p 1098:1098 -p 50000:50000 --env HOST_IP=$ip --name jmeter_slave jmeter_slave:latest
[root@localhost jmeter]# vim stop.sh
#!/bin/bash
docker rm -f jmeter_slave
docker rmi jmeter_slave:latest

四、操作命令

[root@localhost jmeter]# bash install.sh
[root@localhost jmeter]# bash start.sh
[root@localhost jmeter]# bash stop.sh

Tags:

最近发表
标签列表