基于docker的jmeter弹性压测

原创
2020/03/24 11:21
阅读数 1.4K

本文主要是介绍jmeter的弹性压测,旨在通过docker可以做到动态扩容等,下面开始第一篇;


先看下我的文件目录,可与预先下载好相应的包


看下我的DockerFile:

FROM java:8
# 基础镜像

MAINTAINER 448972995@qq.com
# 作者

ENV http_proxy ""
ENV https_proxy ""

RUN mkdir /test && \
chmod -R 777 /test

# 创建/test目录,用于存放jmx脚本、jtl结果文件、html测试报告文件

ENV JMETER_VERSION=5.2.1
ENV JMETER_HOME=/usr/local/apache-jmeter-${JMETER_VERSION}
ENV JMETER_PATH=${JMETER_HOME}/bin:${PATH}
ENV PATH=${JMETER_HOME}/bin:${PATH}
# 设置JMeter环境变量

ADD apache-jmeter-${JMETER_VERSION}.tgz /usr/local
# 添加JMeter

RUN sed -i '$a sampleresult.default.encoding=UTF-8' /usr/local/apache-jmeter-${JMETER_VERSION}/bin/jmeter.properties && \
sed -i '159s/256/512/g' /usr/local/apache-jmeter-${JMETER_VERSION}/bin/jmeter

# 修改JMeter配置文件

RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
echo "Asia/Shanghai" > /etc/timezone


docker build -t jmeter .
# 打包JMeter镜像,请不要忽略后面的一个.

mkdir test
# 在当前路径创建test目录,用户存放jmeter文件

docker run -d -it --name jmeter5.2.1 -v $PWD/test:/test jmeter
# 启动

启动后可以查看容器id后进入容器查看相关信息:

启动jmeter进行压测


下面我们介绍如何制作并上传私有云

首先,下载Registry镜像并启动

docker pull registry

启动镜像

docker run -d -v /edc/images/registry:/var/lib/registry -p 5000:5000 --restart=always --name xdp-registry registry

可以看下是否存在镜像:

curl http://your-server-ip:5000/v2/_catalog

初始的状态应该是空的:


一般出现如下信息:{"repositories":[""]}


上传镜像:

首先,为了让客户端服务器能够快速地访问刚刚在服务端搭建的镜像仓库(默认情况下是需要配置HTTPS证书的),这里简单在客户端配置一下私有仓库的可信任设置让我们可以通过HTTP直接访问:# vim /etc/docker/daemon.json

  加上下面这一句,这里的"your-server-ip"请换为你的服务器的外网IP地址:

{    "insecure-registries" : [ "your-server-ip:5000" ] }

PS:如果不设置可信任源,又没有配置HTTPS证书,那么会遇到这个错误:error: Get https://ip:port/v1/_ping: http: server gave HTTP response to HTTPS client.

为了使得配置生效,重新启动docker服务:# systemctl restart docker,其次,为要上传的镜像打Tag

docker tag your-image-name:tagname your-server-ip:5000/your-image-name:tagname

最后,开始正式上传镜像到服务端镜像仓库

docker push your-registry-server-ip:5000/your-image-name:tagname

  

这时我们可以再次通过访问API验证镜像仓库的内容:


往期推荐:

从cpu消耗到定位代码的剖析过程(送自动化分析脚本)


本文分享自微信公众号 - 软件测试架构师俱乐部(gh_03227f9a322f)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部