一、Jmeter分布式测试基础

1、Jmeter分布式测试原因:

  在使用Jmeter进行接口的性能测试时,由于Jmeter 是JAVA应用,对负载机的CPU和内存消耗比较大。所以当需要模拟数以万计的并发用户时,可能会导致单台负载本身扛不住,出现的瓶颈。为了解决以上的问题,Jmeter提供的分布式功能,同时启动多台电脑进行分布式测试。

2、什么情况下采用分布式测试:

  1、在进行压测的过程中如果出现Jmeter未响应,卡住,反应慢等现象。随即启动任务管理器进行查看,如果cup和内存都特别大。就可以说明现在的负载机出现了瓶颈,需要进行分布式测试。

  2、随着并发数的增长,TPS不再增长,即出现瓶颈(排除服务器瓶颈及其他)。可能是现在的负载机出现了瓶颈,需要进行分布式测试。

  3、在进行压测的过程中出现错误,如Unrecognized Windows Sockets error: 0: recv failed。可能是现在的负载机出现了瓶颈,需要进行分布式测试。

3、Jmeter分布式执行原理:

  1、Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave)。  

  2、执行时:master会把脚本发送到每台slave上,slave拿到脚本后开始执行,slave执行时不需要启动Jmeter。只需要把jmeter-server.bat文件打开,它会自动通过非GUI模式来执行。(注意:如果引用到csv等外部的文件,则每台slaver所在的机器都需要相应位置放置该文件。)

  3、执行后:slave会把结果回传给master,master会收集所有slave的信息并汇总。

二、Jmeter分布式测试实战

1、执行机slave配置:

  1、slave机上需要安装JDK、Jmeter。并且配置好环境变量。

  2、打开Jmeter/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,把这一行修改为”remote_hosts=192.168.11.14:1099,1099是端口号(本人使用的是3.3的版本,可以不用写端口号,Jmeter会自动识别)。

  

3、打开jmeter-server.bat文件,就设置完成了,等待控制机(Controller)启动。

2、控制机(Controller)配置:

1、Controller机上需要安装JDK、Jmeter。并且配置好环境变量。

2、打开jmeter-server.bat文件,就设置完成了,等待控制机(Controller)启动。

3、打开Jmeter/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,把这一行修改为”remote_hosts=192.168.8.149:1099,192.168.8.174:1099,1099是端口号(本人使用的是3.3的版本,可以不用写端口号,jmeter会自动识别)。

(此处写的是执行机的ip),如果有多台代理机,这里需要把所有的代理机的IP地址都加入进来。

4、打开jmeter-server.bat文件,设置完成了。

3、运行分布式测试

以访问百度为例:

三、Jmeter分布式需要注意的问题:

1、JMeter 的 Controller 和 Agent 之间进行通讯的默认 RMI

2、master和slave机中的jmeter版本必须一致(小版本也得一致)。

3、java的版本也得一致,不能一个java7一个java8(只要大版本一致即可)

4、单个运行某个执行机的IP时,如果提示错误:Engine is busy - please try later。

或者提示: Connection refused to host: 192.168.11.14; nested exception is: 
java.net.ConnectException: Connection timed out: connect

解决方法:

 参考:

---------------------------------------------------------------------------------------------------------------------------

https://www.cnblogs.com/fennudexiaoniao/p/6913395.html
https://www.cnblogs.com/fennudexiaoniao/p/6913395.html
https://www.cnblogs.com/whitewasher/p/6946207.html

Jmeter分布式测试实战的更多相关文章

  1. 【Fine原创】JMeter分布式测试中踩过的那些坑

    最近因为项目需要,研究了性能测试的相关内容,并且最终选用了jmeter这一轻量级开源工具.因为一直使用jmeter的GUI模式进行脚本设计,到测试执行阶段工具本身对资源的过量消耗给性能测试带来了瓶颈, ...

  2. jmeter分布式测试教程和远程的代理机无法连接网络的问题解决方法

    一.Jmeter分布式执行原理: 1.Jmeter分布式测试时,选择其中一台作为控制机(Controller),其它机器做为代理机(Agent). 2.执行时,Controller会把脚本发送到每台A ...

  3. 转:Jmeter分布式测试

    在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能. 一.Jmeter分 ...

  4. jmeter分布式测试的坑

    转 : jmeter分布式测试的坑 有关jmeter分布式测试的环境配置,大概就是那样,但是每次想要进行jmeter分布式测试的时候,总是会有各种奇怪的问题,下面整理了一些可能遇到的坑. 只要错误中出 ...

  5. Jmeter --- 分布式测试

    在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能. 一.Jmeter分 ...

  6. 转 : jmeter分布式测试的坑

    有关jmeter分布式测试的环境配置,大概就是那样,但是每次想要进行jmeter分布式测试的时候,总是会有各种奇怪的问题,下面整理了一些可能遇到的坑. 只要错误中出现:Error in rconfig ...

  7. Jmeter分布式测试的各种坑之jmeter-server修改ip

    第一坑:启动压力机的时候,直接./jmeter-server,会报如下错误 错误原因:127.0.0.1是本机, 一个回路地址, 没有指定地址 正确的启动方式:启动命令加一个参数, IP地址写压力机对 ...

  8. 为什么 jmeter 分布式测试,一定要设置 java.rmi.server.hostname

    之前总结了 jmeter 分布式测试的过程,在部署过程中提到,要在 system.properties 中配置自己的 IP. 至于为什么要这么做,源于这一次 debug 的过程. 运行环境 mint, ...

  9. JMeter 分布式测试部署

    对于并发量很大的需求,如上万并发量,受到CPU和内存的限制,单机模拟场景是实现不了的,为了让JMeter提供更大的负载能力,须使用它的分布式机制,即多台机器同时产生负载的功能. 以下参数分析可用于配置 ...

随机推荐

  1. delphi 工具

    http://blog.csdn.net/maxwoods/article/category/1285993

  2. PatBlt

    PatBlt     该函数使用当前选入指定设备环境中的刷子绘制给定的矩形区域.通过使用给出的光栅操作来对该刷子的像素和表面像素进行组合. 原型: BOOL PatBlt(     HDC hdc,  ...

  3. MVC表单提交写法1

    初学MVC,感觉跟以前的aspx页面差别很大,我们就先来看看MVC的表单是怎么提交的吧. 现在我们用一个最简单的例子来看一看MVC是怎么提交表单的(这一个例子中,我们的关注点是如何提交表单,所以不涉及 ...

  4. code1135 选择客栈

    首先,预处理三个数组. pre[x]表示在此之前颜色为x的客栈有多少个. f[x]表示在此之前的客栈中,某个点c,c的颜色为x,并且从c点到已经读入的点之间有费用小于p的客栈,这样的c点的个数 las ...

  5. asp.net网站全局控制文件内注册事件

    在管理ASP.NET网站的时候,有时会对网站整体做出控制,这时把这些代码写在global.asax内可以做到全局控制. 未添加任何代码的global.asax文件如下: <script runa ...

  6. CentOS7通过 yum安装路径查询方法

    CentOS7通过 yum安装路径查询方法 rpm -qa 然后执行 rpm -ql 软件名称 就可以显示软件的安装路径. 原文博客的链接地址:https://cnblogs.com/qzf/

  7. Thrift结构分析及增加取客户端IP功能实现

    目录 目录 1 1. 前言 1 2. 示例Service 1 3. 网络部分类图 2 4. 线程模式 3 4.1. IO线程 3 4.2. 工作线程 4 4.2.1. 工作线程类图 4 4.2.2.  ...

  8. python int函数转换浮点型字符串的坑???

    python中的int函数可以将数字或字符串转换为整型数字类型,具体功能就不提了 最近发现一个问题,对于字符串'1.1'之类的,int转换的时候会报异常,这是为什么,个人感觉直接转换成1不就行了,干嘛 ...

  9. Python + Robotframework + Appium 之APP自动化测试小试牛刀(Android)

    Robotframework如何好?这里先不说了~ Python更不用说了~ Appium前面的文章有介绍~ 今天直接来Python+Robotframework+Appium 三者结合起来,对And ...

  10. HDU1875 畅通工程再续 2017-04-12 19:52 48人阅读 评论(0) 收藏

    畅通工程再续 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submis ...