51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4687|回复: 8
打印 上一主题 下一主题

JMeter远程连接多台PC的测试小结!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2014-2-25 17:50:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
利用 进行负载测试的时候,使用单台机器模拟测试超过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.但后来发现去掉这个配置也没问题,那么原因就是中文问题了
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3
回复

使用道具 举报

该用户从未签到

2#
发表于 2014-3-13 15:04:33 | 只看该作者
顶起
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2016-11-29 09:44
  • 签到天数: 5 天

    连续签到: 5 天

    [LV.2]测试排长

    3#
    发表于 2014-4-10 11:03:03 | 只看该作者
    学习了,谢谢分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2017-1-23 15:52
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    4#
    发表于 2014-6-27 18:13:30 | 只看该作者
    收藏,备用
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-29 11:56
  • 签到天数: 9 天

    连续签到: 1 天

    [LV.3]测试连长

    5#
    发表于 2015-4-16 15:24:40 | 只看该作者
    这个方法之前在博客里看到过,就是目前还没有真正跑成功过。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-9-28 22:53
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    7#
    发表于 2015-10-31 09:28:37 | 只看该作者
    我用badboy录制web网站,操作是登陆及发消息(向后台数据库发送一条信息)。Badboy可以成功录制及回放(数据都可以成功放数据库)。再使用Jmeter去导入Badboy录制的文件,进行启动运行,聚合报告和检查表都通过。但是并没有将数据写入数据库。想问问大侠们,我这个过程是漏掉什么步骤了,还是其他原因。不能将网站操作信息写入数据库。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-3-19 21:43
  • 签到天数: 59 天

    连续签到: 1 天

    [LV.5]测试团长

    8#
    发表于 2015-12-26 20:08:40 | 只看该作者
    jmeter分布式也是中看不中用,满足两三千并发还行,大了也是无能为力
    主要是jmeter master主控机与slave(agent)之间是同步通信,每次结果都有交互,量大了master机器受不了,就会影响slave机器
    有时还会有数据丢失。
    所以超高并发需要用到异步方式,同时触发启动多台机器jmeter,线下搜集结果数据分析报告
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2016-1-7 14:21:32 | 只看该作者
    远程slave机器的结果如何发送到控制机上来?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-11 01:31 , Processed in 0.075396 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表