jenkins +Jmeter 完成分布式性能测试
1.Jmeter 压测机器配置。
下载Jmeter 版本:https://jmeter.apache.org/download_jmeter.cgi 我下的是5.1.1
将下载后的版本进行解压。
运行 ..\apache-jmeter-5.1.1\bin\jmeter.bat
如果没有安装Java环境会提示安装Java环境
下载Jave版本: https://www.java.com/en/download/win10.jsp
Jmeter 5.1.1 版本要求Jave 8 +,所以需要安装Jave 8以上的版本。
安装后Java 环境后再次运行 Jmeter.bat 就可以打开Jmeter GUI 界面了。如下:

2.Jmeter 分布式远程执行机器配置
运行 Jemter-Server.bat
如果出现如下错误,是因为没有找到 rmi_keystore.jks 文件,默认远程链接是需要通过ssl 通道的。

如果对于安全级别没有要求,则可以设定不需要通过SSL连接远程Server。
需要修改jmeter.properties 文件,将server.rmi.ssl.disable=true
# Set this if you don't want to use SSL for RMI
server.rmi.ssl.disable=true
如下:

这样执行 Jmeter-server.bat 就不会出现错误了。

3.配置控制机器
远程机器配置好之后,在控制机器上进行设置:
修改jmeter.properties 文件,找到 Remote hosts and RMI configuration 段,在remote_hosts 后面添加远程执行机
# Remote hosts and RMI configuration
#---------------------------------------------------------------------------
# Remote Hosts - comma delimited
#remote_hosts=127.0.0.1
remote_hosts=jp-lsr-montage:1099,Montage-t2-ck:1099,montage-test3:1099
上述配置完成后,在控制机器上启动Jmeter.bat进行测试。
选择一个项目,使用run->Remote Start 中的远程机器,一台一台测试看执行机器是否就绪。

如果执行机器正常运行,我们的Jmeter 部分就配置好了。
4.Jenkins 配置
1. 新建一个Freestyle project 项目。
2. 配置Office 365 Connector Tab
2.1 选择 This project is parameterized
设置 num_threads 和 filename 变量。

2.2选择 Restict where this project can be run
设置脚本运行的机器,对于我们来书就是控制机器名称 .我使用了 jp-lsr-montage 机器。
需要将这个机器配置为Jenkins Agent。
3. 配置Build
我们上面配置了连个build 参数,它们的使用地方就在Build 的命令中,通过这两个参数我们可以在每次build 的时候来指定运行文件和线程数。
对于windows batch command 参数格式:%branch% linux shell:$branch git 引用参数:${branch}

通过上面的设置可以将Build 参数传递给Jmeter 命令行,要在Jmeter 运行时从命令行读取参数,还需要修改Jmeter 工程文件。
如下:在需要使用变量的地方通过 ${__P(num_threads,1)} 来读取命令行中的变量。
通过命令行传递参数
-G, --globalproperty (argument)[=(value)]
发送给server的全局属性,可以把属性及值填入global.properties,之后使用-Gglobal.properties
例子: jmeter -n -t c:\Jmeter\montage\EventApply.jmx -o result -l result.jtl -e -r -Gnum_threads=3
Jmeter 界面的设置:

4.配置Post-Build Actions
需要安装HTML Publisher插件。

配置Publish HTML reports
再安装一个插件performance

配置 Publish Performance test result report

5.Jenkins Agent 配置
我们在2.2 中使用 jp-lsr-montage这个Agent , 那么如何配置Agent 呢?
Jenkins -->Mange Jenkins --> Mange Nodes


选择New node
、
进行如下配置,并保存:

2.登录jp-lsr-montage 机器,访问Jenkins 服务器。
选择 Agent jp-lsr-montage ,选择launch ,这样就配置好 jp-lsr-montage Agent了。
如果担心Agent机器重启后Agent 离线,可以考虑将Agent 安装为 Windows Service。 具体安装方法可以参考Jenkins Agent 配置。

jenkins +Jmeter 完成分布式性能测试的更多相关文章
- 转:Jmeter进行分布式性能测试
由于Jmeter本身的瓶颈,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起JAVA内存溢出的错误.要解决这个问题,可以使用分布式测试,运行多台机器运行所谓的 ...
- 【jmeter】Jmeter进行分布式性能测试
由于Jmeter本身的瓶颈,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起JAVA内存溢出的错误.要解决这个问题,可以使用分布式测试,运行多台机器运行所谓的 ...
- Jmeter进行分布式性能测试
由于Jmeter本身的瓶颈,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起JAVA内存溢出的错误.要解决这个问题,可以使用分布式测试,运行多台机器运行所谓的 ...
- JMeter JMeter远程分布式联机性能测试
JMeter远程分布式联机性能测试 by:授客 QQ:1033553122 测试环境 apache-jmeter-2.13 Java JDK版本:1.8 1. JMeter分布式测试简介 当一个 ...
- jmeter -分布式性能测试部署
------------------运行环境:------------------------------------------------- 1. 安装java运行环境:要求jdk1.8(最好安装 ...
- JMeter远程分布式联机性能测试
测试环境 apache-jmeter-2.13 Java JDK版本:1.8 1. JMeter分布式测试简介 当一个JMeter客户端因网络限制等因素,无法模拟足够的用户对服务器施压时,需要用到J ...
- 转 15 jmeter分布式性能测试
15 jmeter分布式性能测试 背景由于jmeter本身的瓶颈,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起Java内存溢出的错误.要解决这个问题, ...
- jenkins+jmeter+ant搭建接口测试平台
接口测试的重点是检查数据的交换,传递和控制管理过程以及系统间的相互逻辑依赖关系. 接口测试的流程 项目启动后,测试人员要尽早拿到接口测试文档. 开始编写接口测试用例 将接口测试用例部署到持续集成的测试 ...
- jmeter的分布式部署
在使用Jmeter进行性能测试时,如果并发数比较大(比如5000+并发),单台电脑的配置(CPU和内存)可能无法支持(公司配的联想e450家庭用笔记本一般到1000就会卡死),这时可以使用Jmeter ...
随机推荐
- c# 计算字符串和文件的MD5值的方法
快速使用Romanysoft LAB的技术实现 HTML 开发Mac OS App,并销售到苹果应用商店中. <HTML开发Mac OS App 视频教程> 土豆网同步更新:http: ...
- std::string的Copy-on-Write:不如想象中美好(VC不使用这种方式,而使用对小字符串更友好的SSO实现)
Copy-on-write(以下简称COW)是一种很重要的优化手段.它的核心思想是懒惰处理多个实体的资源请求,在多个实体之间共享某些资源,直到有实体需要对资源进行修改时,才真正为该实体分配私有的资源. ...
- 核心思想:评价早期SaaS创业公司时,投资人在关注什么?(是否有机会发展成一个平台,长期的护城河)
编者按: 当聊到早期项目时,人们经常会问投资人一个问题:“在评价早期 SaaS 创业公司时,投资人会关注什么——指标还是其他方面?” Nakul Mandan 作为 Lightspeed 风投机构的合 ...
- 【原创】ABAP根据文件路径获取文件所在目录(续)
在上一篇文章<ABAP根据文件路径获取文件所在目录>中,我主要的思路是采用 “SPLIT dobj AT sep INTO TABLE result_tab” 句型将文件全路径按分隔符“\ ...
- 面试官:你了解过Redis对象底层实现吗
上一章我们讲了Redis的底层数据结构,不了解的人可能会有疑问:这个和平时用的五大对象有啥关系呢?这一章我们就主要解释他们所建立的联系. 看这个文件之前,如果对ziplist.skiplist.int ...
- 阿里云CDN+OSS完成图片加速
我们使用React Native开发APP,在列表中显示图片时,列表框经常出现长时间的空白.经过稍微研究和参考其他人的经验,我们知道React Native的ListView以及后来改进版的FlatL ...
- 升级vue全家桶过程记录
背景 如果你使用了element-ui的el-tabs组件,并且想要单独升级element-ui至2.10.0,你会发现,使用了el-tabs组件的页面只要打开就卡死.原因是element-ui~2. ...
- linux运维人员常用150个命令汇总
命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的词典,更复杂的还有info,但不常用. help 查看Linux内置命令的帮助,比如cd命令. 文件和目录操作命令(18个) l ...
- 修改npm默认安装路径
npm config ls npm config set prefix D:\ag\npm
- 【hibernate-validator+SpringMVC】后台参数校验框架
hibernate-validator+SpringMVC 简介:简单说,就是对Entity进行校验. 1.导包,没有很严谨的对应关系,所以我用了比较新的版本,支持更多的注解. <depende ...
