本文主要是介绍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验证镜像仓库的内容:
源自公众号 软件测试架构师俱乐部