广州网站设计公司济南兴田德润o评价,潍坊响应式网站建设要多久,无极网最新招聘信息,建设工程合同包括用 docker 创建 jmeter 容器, 实现性能测试
我们都知道#xff0c;jmeter可以做接口测试#xff0c;也可以用于性能测试#xff0c;现在企业中性能测试也大多使用jmeter。docker是最近这些年流行起来的容器部署工具#xff0c;可以创建一个容器#xff0c;然后把项目放到…用 docker 创建 jmeter 容器, 实现性能测试
我们都知道jmeter可以做接口测试也可以用于性能测试现在企业中性能测试也大多使用jmeter。docker是最近这些年流行起来的容器部署工具可以创建一个容器然后把项目放到容器中就可以构建出一个独立的运行环境。
所以有人就想能否把他们俩弄到一块来使用
今天我就来给大家讲讲如何结合起来使用。
首先选择一个linux机器安装docker
用docker创建jmeter容器(普通jmeter)
从nmb-jmeter-docker: 使用docker运行jmeter进行测试上下载代码到linux机器的/opt路径下
进入base-jmeter-docker文件夹
执行 sh build.sh, 构建本地jmeter镜像 默认版本是jmeter5.1.1 待构建成功之后把用jmeter创建的jmx脚本文件上传到linux机器的base-jmeter-docker路径下执行 sh jmeter.sh -n -t YouJMX_file \ -l JTL_date %Y%m%d_%H%M%S.jtl \ -j jmeter.log \ -e -o Report_date %Y%m%d_%H%M%S 也可以把你的jmx文件上传到其他路径在运行jmeter.sh命令时指定jmx文件路径 这个命令和jmeter的CLI模式命令是一样的cli的相关参数也是可以使用。
创建增强型jmeter容器(jmeter带插件)
下载【jpgc-jmeter-docker】文件夹中所有文件构建本地镜像sh build.sh使用构建的镜像运行jmx文件 sh jmeter.sh -n -t YouJMX_file \ -l YouJTL_date %Y%m%d_%H%M%S.jtl \ -j jmeter.log \ -e -o report_date %Y%m%d_%H%M%S
默认jmeter版本为5.1.1
如果想要更改为其他版本依次修改Dockerfile、build.sh、jmeter.sh文件中的版本号5.1.1
注意 请不要指定为低于5的版本低于5生产的html报告可能有问题
在这个版本改造了HTML报告和引入了jpgc插件如果你还想要引入其他插件可以自己打包压缩到JmeterPlugins-jpgc.zip文件包中。然后执行 sh build.sh构建新的镜像
创建分布式jmeter容器(slave)
做性能测试一般都会遇到jmeter不能产生足够数量的并发用户数需要使用分布式来创建足够数量的并发用户数但是现实中我们可能又不能获得足够数量的电脑。
使用docker创建jmeter的助攻服务这样就能实现理论上一台电脑上创建出任意多个jmeter助攻服务产生出足够量的并发用户数。另外在助攻机的维护上也变的更加简单因为所有的助攻机容器都是基于相同的镜像创建理论上所有容器都是一样。
下载【slave-jmeter-docker】文件夹中所有文件构建本地slave镜像sh build.sh创建slave容器 docker run -itd --name slave1 nmb/jmeter-slave:5.1.1 server # 重复执行时修改容器名称name值则可创建多个slave容器 默认jmeter版本为5.1.1 如果想要更改为其他版本依次修改Dockerfile、build.sh文件中的版本号5.1.1 注意 1、该镜像中加入jpgc插件更改了HTML报告模板 2、请不要指定为低于5的版本低于5生产的html报告可能有问题 3、助攻服务端口 1099 5000 因为后面master用link连接容器所以可以不用映射端口 想要创建多个slave容器只需要修改创建容器命令中的指定的容器名称。
每个助攻服务的端口都是1099和5000如果直接映射到宿主机上肯定会出现端口冲突的情况所以我们用master连接link每个slave容器就不用担心端口冲突问题了。
创建分布式jmeter容器(master)
下载【master-jmeter-docker】文件夹中所有文件构建本地master镜像sh build.sh修改run-master.sh文件中 --link的数量和名称 冒号前面为slave容器名称冒号后面为自定义别名 使用master容器执行分布式脚本 sh run-master.sh -n \ -R 助攻机别名(多个时用逗号分隔) \ -t YouJMXfile \ -l YouJTL_date %Y%m%d_%H%M%S.jtl \ -j jmeter.log \ -e -o report_date %Y%m%d_%H%M%S 默认jmeter版本为5.1.1 如果想要更改为其他版本依次修改Dockerfile、build.sh文件中的版本号5.1.1 注意 请不要指定为低于5的版本低于5生产的html报告可能有问题 注意
该镜像构建成功后会带有jpgc插件可以执行使用jpgc插件编写的脚本该镜像还对jmeter生产的html报告进行了改造生产的报告将转换为中文jmeter分布式主控和助攻机的jmeter必须一致所以master和slave的jmeter版本务必一致 好了使用docker来创建jmeter进行性能测试的技术已经讲完了代码已经开源到 gitee, 如果你觉得有用请帮忙点个star噢 总结
感谢每一个认真阅读我文章的人
作为一位过来人也是希望大家少走一些弯路如果你不想再体验一次学习时找不到资料没人解答问题坚持几天便放弃的感受的话在这里我给大家分享一些自动化测试的学习资源希望能给你前进的路上带来帮助。 软件测试面试文档
我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。 视频文档获取方式 这份文档和视频资料对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你以上均可以分享点下方小卡片即可自行领取。