51Testing软件测试论坛

标题: JMeter远程连接多台PC的测试小结! [打印本页]

作者: twobercancan    时间: 2014-2-25 17:50
标题: JMeter远程连接多台PC的测试小结!
利用 进行负载测试的时候,使用单台机器模拟测试超过1000个行程的并发就有些力不从心,在执行的过程中,JMeter自身会自动关闭,要解决这个问题,可以使用分布式测试,运行多台机器运行所谓的 Agent 来分担 JMeter自身的压力,并借此来获取更大的并发用户数,但是需要进行相关的一些修改,具体如下:
  1、在所有期望运行 JMeter 作为 Load Generator 的机器上安装 JMeter,并确定其中一台机器作为 Controller,其他的机器作为 Agent。然后运行所有 Agent 机器上的JMeter-server.bat文件——假定我们使用两台机器 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 端口号;
  4、保存文件,并重新启动 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也作为远程机器进行运行。

   在连接时报:connection refused to host:10.10.90.69 nested exception is...错误,后来发现是启动JMeter-server.bat时就报错了,分析原因是jmeter安装文件放到桌面上有中文字符引起的:解决办法把jmeter挪到其他没有中文字符的地方就ok了。
  另开始没发现启动JMeter-server.bat报错前以为是host:(C:/WINDOWS/system32/drivers/etc/hosts)没有配置的原因,同时配了10.10.90.70  liujun2.但后来发现去掉这个配置也没问题,那么原因就是中文问题了
作者: 开着拖拉机上班    时间: 2014-3-13 15:04
顶起
作者: yinxiaodan    时间: 2014-4-10 11:03
学习了,谢谢分享
作者: harneyluo    时间: 2014-6-27 18:13
收藏,备用
作者: duxiaohan0326    时间: 2015-4-16 15:24
这个方法之前在博客里看到过,就是目前还没有真正跑成功过。。
作者: jiaojunnan    时间: 2015-9-24 15:45
顶起
作者: kzyfree    时间: 2015-10-31 09:28
我用badboy录制web网站,操作是登陆及发消息(向后台数据库发送一条信息)。Badboy可以成功录制及回放(数据都可以成功放数据库)。再使用Jmeter去导入Badboy录制的文件,进行启动运行,聚合报告和检查表都通过。但是并没有将数据写入数据库。想问问大侠们,我这个过程是漏掉什么步骤了,还是其他原因。不能将网站操作信息写入数据库。
作者: o蜗牛快跑o    时间: 2015-12-26 20:08
jmeter分布式也是中看不中用,满足两三千并发还行,大了也是无能为力
主要是jmeter master主控机与slave(agent)之间是同步通信,每次结果都有交互,量大了master机器受不了,就会影响slave机器
有时还会有数据丢失。
所以超高并发需要用到异步方式,同时触发启动多台机器jmeter,线下搜集结果数据分析报告
作者: joyzym    时间: 2016-1-7 14:21
远程slave机器的结果如何发送到控制机上来?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2