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 完成分布式性能测试的更多相关文章

  1. 转:Jmeter进行分布式性能测试

    由于Jmeter本身的瓶颈,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起JAVA内存溢出的错误.要解决这个问题,可以使用分布式测试,运行多台机器运行所谓的 ...

  2. 【jmeter】Jmeter进行分布式性能测试

    由于Jmeter本身的瓶颈,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起JAVA内存溢出的错误.要解决这个问题,可以使用分布式测试,运行多台机器运行所谓的 ...

  3. Jmeter进行分布式性能测试

    由于Jmeter本身的瓶颈,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起JAVA内存溢出的错误.要解决这个问题,可以使用分布式测试,运行多台机器运行所谓的 ...

  4. JMeter JMeter远程分布式联机性能测试

    JMeter远程分布式联机性能测试   by:授客 QQ:1033553122 测试环境 apache-jmeter-2.13 Java JDK版本:1.8 1.  JMeter分布式测试简介 当一个 ...

  5. jmeter -分布式性能测试部署

    ------------------运行环境:------------------------------------------------- 1. 安装java运行环境:要求jdk1.8(最好安装 ...

  6. JMeter远程分布式联机性能测试

    测试环境 apache-jmeter-2.13 Java JDK版本:1.8 1.  JMeter分布式测试简介 当一个JMeter客户端因网络限制等因素,无法模拟足够的用户对服务器施压时,需要用到J ...

  7. 转 15 jmeter分布式性能测试

    15 jmeter分布式性能测试   背景由于jmeter本身的瓶颈,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起Java内存溢出的错误.要解决这个问题, ...

  8. jenkins+jmeter+ant搭建接口测试平台

    接口测试的重点是检查数据的交换,传递和控制管理过程以及系统间的相互逻辑依赖关系. 接口测试的流程 项目启动后,测试人员要尽早拿到接口测试文档. 开始编写接口测试用例 将接口测试用例部署到持续集成的测试 ...

  9. jmeter的分布式部署

    在使用Jmeter进行性能测试时,如果并发数比较大(比如5000+并发),单台电脑的配置(CPU和内存)可能无法支持(公司配的联想e450家庭用笔记本一般到1000就会卡死),这时可以使用Jmeter ...

随机推荐

  1. C# ACCESS 向含有自动编码字段表中添加记录提示“查询值的数目与目标字段中的数目不同”

    引发错误的SQL语句如下: sqlStr = "insert into tb_ReportLog values('" + DevSite + "','" + D ...

  2. 冒泡排序C#实现,使用委托,包括三种方式:Fun<>,匿名方法,Lambda表达式

    冒泡排序是一种简单的排序方法,适合于小量数字排序,对于大量数字(超过10个),还有更高效的排序方法. 这里的实现的冒泡排序,需实现功能: 不仅数字排序,还要对任意对象排序 示例: 对People对象的 ...

  3. C++ 使用回调函数的方式 和 作用。 持续更新

    先看两个demo: 一.在类test1中调用函数print() ,把print()的函数指针传递给test1的函数指针参数 test1.h: #include <stdio.h> #inc ...

  4. Java代码消除switch/case,if/else语句的几种实现方式

    转自:https://my.oschina.net/stefanzhlg/blog/372413 我们在平时的编码中,我们经常会遇到这样的情况: 使用过多的switch/case 或者 if else ...

  5. 以太网,IP,TCP,UDP数据包分析(此文言简意赅,一遍看不懂的话,耐心的看个10遍就懂了,感谢作者无私奉献)

    1.ISO开放系统有以下几层: 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 2.TCP/IP 网络协议栈分为应用层(Application).传输层(Tra ...

  6. 【转】 远程连接mysql

    转自:http://www.linuxidc.com/Linux/2013-05/84813.htm 1.确认能ping通 2.确认端口能telnet通.如果user表的host值是localhost ...

  7. 论文研读Unet++

    Unet++: A Nested U-Net Architecture for Medical Image Segmentation Unet++ 论文地址 这里仅进行简要介绍,可供读者熟悉其结构与特 ...

  8. 数读 | 为什么运维朋友们都需要学Python?

    运维人员需不需要学开发?需不需要学Python?PythonN和Shell有什么区别?天天问这种好水的问题,我实在受不了,决定帮大家扫扫盲. 现阶段,掌握一门开发语言已经成为高级运维工程师的必备计能, ...

  9. python多线程爬取图片实例

    今天试着把前面那个爬取图片的爬虫改成了多线程爬取,虽然最后可以爬取存储图片了,但仍存在一些问题.网址还是那个网址https://www.quanjing.com/category/1286521/1. ...

  10. Codeforces 730I:Olympiad in Programming and Sports(最小费用流)

    http://codeforces.com/problemset/problem/730/I 题意:有n个人参加两种比赛,其中每个人有两个参加比赛的属性,如果参加了其中的一个比赛,那么不能参加另一个比 ...