http://www.testwo.com/blog/6373

近期在用JMeter进行负载测试的 时候,发现使用单台机器模拟测试超过比如500个进程的并发就有些力不从心或者说不能如实的反应实际情况,在执行的过程中,JMeter自身会自动关闭,要解决这个问题,则可以使用分布式测试,运行多台机器运行所谓的 Agent 来分担 JMeter自身的压力(这个和LODARUNNER是一样的道理),并借此来获取更大的并发用户数,则需要进行相关的配置参数和文件权限进行一些修改,具体如下:

  1、在所有期望运行 JMeter 并作为 Load Generator 的机器上安装 JMeter,并确定其中一台机器作为 Controller,其他的机器作为 Agent——假定我们使用两台机器 192.168.0.1 和 192.168.0.2 作为 Agent;

  2、在Controller 机器的 JMeter 安装目录下找到 bin 目录,再找到 JMeter.properties 这个文件,使用记事本或者其他文字编辑工具打开它;

  3、在打开的文件中查找“remote_hosts=”这个字符串,你可以找到这样一行“remote_hosts=127.0.0.1”。其中的 127.0..0.1 表示运行 JMeter Agent 的机器,这里需要修改为“remote_hosts=192.168.0.1:1099,192.168.0.2:1099”——其中的 1099 为 JMeter 的 Controller 和Agent 之间进行通讯的默认 RMI 端口号; (个人备注:只改要作为Controller的机器上的此文件即可;Agent的机器上的文件可以不理会)

  4、保存文件,然后依次启动作为Controller的机器上的jmeter-server文件和作为Agent的机器上的jmeter-server文件(个人备注:如果是WINDOWS系统版本的jmeter,则是启动jmeter-server.bat的批处理文件,LINUX系统则是jmeter-server文件,没有后缀的,但是要修改为可执行权限,这后面具体有提到),并重新启动 Controller 机器上的 JMeter.bat,并进入 Run -> Remote Start 菜单项,在这里可以看到远程启动菜单下面有192.168.0.1 ,192.168.0.1两个IP地址

  5、如果要让某个电脑执行,可以点击改电脑的IP地址就可以,如果两个都要执行,可以点击Run 菜单下的“远程运行全部”菜单

  6、有时候用作代理的机器太少,仍不能满足需要,则需要将作为Controller的电脑也当作Agent,则同样需要修改 JMeter.properties文件,将Controller的IP地址写入。同时,这个时候,需要打先打开Controller 电脑中JMeter下bin目录下的jmeter-server.bat,然后再打开JMeter.bat,此时,进入Run -> Remote Start菜单,可以看到Controller也作为远程机器进行运行。 (针对第六点我个人经过实地测试后要进行细化确认:如果是在LINUX下,此文件的权限都还是要修改的,且jmeter-server会调用名为jmeter脚本文件,其jmeter文件的权限也要修改为可执行的才可以,且每个被调用的Agent的机器的jmeter-server文件也是要执行中才可用调用,这点很重要。)。

/* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.5pt; mso-bidi-font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-font-kerning:1.0pt;}

ps;使用中遇到的问题:运行jmeter-server.bat时创建的远程对象地址不是想要的ip,常常是本地电脑的虚拟机的ip

解决办法:禁用虚拟机的网卡(控制面板->网络和 Internet->网络和共享中心->左侧的更改适配器设置,然后禁用相关网卡)

如何使用JMeter来实现更大批量的并发的解决方案(即如何设置controller和Agent)的更多相关文章

  1. 如何使用jmeter来实现更大批量的并发的解决方案

    近期在用JMeter进行负载测试的 时候,发现使用单台机器模拟测试超过比如500个进程的并发就有些力不从心或者说不能如实的反应实际情况,在执行的过程中,JMeter自身会自动关闭, 要解决这个问题,则 ...

  2. 基于Jmeter跟Jenkins的自动化性能测试的一站式解决方案(转)

    www.MyException.Cn  网友分享于:2015-08-26  浏览:0次   基于Jmeter和Jenkins的自动化性能测试的一站式解决方案 作者: Yu, Qingguo Shen, ...

  3. jmeter的Classpath即类或者jar包的搜索路径设置

    对于master-slave模式,插件和依赖都需要放到slave上才能生效,并且需要重启slave使插件生效 查看配置文件:apache-jmeter-3.1/bin/jmeter.propertie ...

  4. 如何利用JMeter模拟超过 5 万的并发用户

    本文将从负载测试的角度,描述了做一次流畅的5万用户并发测试需要做的事情. 你可以在本文的结尾部分看到讨论的记录. 快速的步骤概要 编写你的脚本 使用JMeter进行本地测试 BlazeMeter沙箱测 ...

  5. JMeter多个请求按照比例并发的几种方式

    一.需求 在压测的过程中,为了能够压测整个链路,通常需要多个接口进行并发, 每个接口的请求比例不尽相同. 比如此时此刻,我在写博客,很多人在浏览博客,或者点赞.评论博客等等等,这些行为占比是不同的. ...

  6. JMeter学习-017-java.net.SocketException: Permission denied: connect 解决方案

    前几天,有了新的接口性能测试需求,同事在添加 HTTP请求 后,运行时响应信息如下所示: java.net.SocketException: Permission denied: connect at ...

  7. jmeter插件如何协助进行内存监控 之 PerfMon Metrics Collector设置

    参考文章: http://www.cnblogs.com/zhaoxd07/p/5197669.html 当然最重要的是自己的实践,之前试的别人用的老的包 如XXstand.jar,结果并没有成功. ...

  8. NRF52833蓝牙5.1可用于105℃环境温度的Nordic蓝牙5.1 SoC能实现更广泛的并发多协议低功耗蓝牙、mesh和Thread应用

    Nordic Semiconductor宣布推出nRF52833先进多协议系统级芯片(SoC),这是其广受欢迎且验证通过的nRF52系列的第五个新成员.nRF52833是一款功耗超低的低功耗蓝牙 (B ...

  9. jmeter用Stepping Thread Group 递增并发数

    jmeter安装插件Stepping Thread Group 如图所示设置的时候,本以为是每2秒 按 1 2 3 4 递增的,总共请求应该是10个,可是运行后却请求了几十个. 这个是有关线程数是否就 ...

随机推荐

  1. Python: 迭代器与生成器小结

    迭代器与生成器的区别: 1. 迭代器由Class对象创建. 生成器由包含yield表达的Function对象或者Generator Expression创建. 2. 迭代器的原理: (1)由Itera ...

  2. ios8/sdk8/xcode6/iphone6(+)适配

    AppIcon https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/Ic ...

  3. web安全之token

    Token,就是令牌,最大的特点就是随机性,不可预测.一般黑客或软件无法猜测出来. 那么,Token有什么作用?又是什么原理呢? Token一般用在两个地方: 1)防止表单重复提交. 2)anti c ...

  4. MyEclipse查看Struts2源码及Javadoc文档

    一.查看Struts2源码 1.Referenced Libraries >struts2-core-2.1.6.jar>右击>properties. 2.Java Source A ...

  5. QT 按钮类继承处理带定时器

    01.class KeyButton : public QPushButton  02.{  03.    Q_OBJECT  04.public:  05.    explicit KeyButto ...

  6. pb datawindow 判断是否是最后一列最后一行

    li_column1 = GetColumn() ls_columnname = GetColumnName() Send(Handle(This),,,Long(,)) ll_row2 = GetR ...

  7. Android -- 获取汉字的首字母

    转换                                                                                             获取一个汉 ...

  8. 软件工程随堂小作业——随机四则运算(C++)

    一.设计思路: 1.程序的主体部分是循环输出,次数即题目数目由用户输入: 2.三个整型变量+rand函数来实现随机数四则运算,一个变量代表加减乘除,另外两个用作运算数: 3.用户体验:题目分三列,排列 ...

  9. 团队项目(NABC分析)

    我们团队开发的是<校园导航>软件 (1)N(Need需求) 我们的团队主要考虑到我们学校没有自己的校园导航,有时会给同学及参观人员带来不便,又看到好多学校都有自己的导航,所以就从这个需求方 ...

  10. php中curl的详细解说(转载)

    本文转自:http://blog.csdn.net/yanhui_wei/article/details/21530811 这几天在帮一些同学处理问题的时候,突然发现这些同学是使用file_get_c ...