第一坑:启动压力机的时候,直接./jmeter-server,会报如下错误

错误原因:127.0.0.1是本机, 一个回路地址, 没有指定地址

正确的启动方式:启动命令加一个参数, IP地址写压力机对应的地址

./jmeter-server   -D java.rmi.server.hostname=118.24.178.224

第二坑:

遇到的问题:

启动remote测试后,Agent 机器 收到任务,且控制台显示:”Starting the test on host 192.168.1.132:1099 @ ***“,说明控制机分派上agent机上的测试成功,但是 一直卡在这里不动了,控制机一直没有显示 任务执行状况以及收到测试结果(任务一直不结束,卡住了)。

解决方法:

(1)telnet 192.168.1.132 1099  是通的,说明 控制机 连agent 机是OK了,问题排除。

(2)查看 agent机上 c:\apache-jmeter-2.13\bin 中 jmeter-server.log 日志文件,发现有错误: jmeter.samplers.RemoteListenerWrapper: testStarted(host) java.rmi.ConnectException: Connection refused to host: 169.254.123.36; nested exception is: 
java.net.ConnectException: Connection timed out: connect
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
at sun.rmi.server.UnicastRef.invoke(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown Source)
at $Proxy1.testStarted(Unknown Source)
at org.apache.jmeter.samplers.RemoteListenerWrapper.testStarted(RemoteListenerWrapper.java:85)
at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfStart(StandardJMeterEngine.java:216)
at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:336)
at java.lang.Thread.run(Unknown Source)

推断原因是 agent 连不了控制机,被拒绝,连接超时。

问题产生了: 为何 控制机 IP变成了 169.254.123.36, IP不是 192.168.1.117 吗?(问题的根源在于:我安装的VMware的一个windows虚拟机的网络设置成了“Bridge 并勾选 Replicate physical network IP address所以在controller机器的网络路由设置中,显示的网络连接为:VirtualBox Host-Oly Network,在这个连接上右键,选择“Disable“,禁用掉,然后重新运行jmeter-server.bat,在窗口中发现IP已经正确了,这样问题就解决了) 估计问题就在这里。

(3) 果断换了一台新安装的 windows 机器作为控制机,然后 重新试了一下,没有问题。在控制机运行测试,agent机器会收到测试“Starting the test on host 192.168.1.132:1099 @ **”,执行结束后,agent机上有日志“Finished the test on host 192.168.1.132:1099 @ ***”,控制机上也有相应的测试结果,问题解决。

总结: 问题还是 连接的问题,如果控制机和agent机连接有问题,就会有此类问题,所以建议 控制机和测试机都是干净的机器,这样避免 安装了一些软件,修改了 C:\Windows\System32\drivers\etc中HOST文件,等问题。

这个问题还有一种情况:控制机和负载机在不同的局域网,也会导致这个问题,所以压力机和控制机尽量在同一个局域网内

测试中发现的问题:

(1) 发现用一台 client 200个用户测试和 用分布式 2个agent 各自100个用户,测试出来的结果 差别太大,不知道为什么?

(2)  发现用一台 client 200个用户测试和 用分布式 2个agent 各自200个用户,测试出来的结果 结果基本是一致的,不知道为什么?

如果真是这样的话,那么jmeter分布式测试出来的结果太不科学了,我们到底相信那个? 问题持续研究中......

这两个问题解决方案:

把controller机器,2个agent机器的时间设置一致,再次测试,问题基本解决了。

jmeter相关问题可以多看日志:

controller的日志看bin目录下面的jmeter.log

压力机的日志看bin目录下面的jmeter-server.log
---------------------
作者:蝙蝠X
来源:CSDN
原文:https://blog.csdn.net/test_xhz/article/details/81877455
版权声明:本文为博主原创文章,转载请附上博文链接!

Jmeter分布式测试的各种坑之jmeter-server修改ip的更多相关文章

  1. 『动善时』JMeter基础 — 59、进行JMeter分布式测试遇到的坑

    目录 1.控制机端 (1)执行机没有关闭防火墙 (2)内存溢出 2.执行机端 (1)启动jmeter-server服务情况一 (2)启动jmeter-server服务情况二 (3)启动jmeter-s ...

  2. 『动善时』JMeter基础 — 58、JMeter分布式测试

    目录 1.JMeter分布式测试概念 2.JMeter分布式测试前提条件 3.JMeter实现分布式测试 (1)在执行机中的配置 (2)在控制机中的配置 (3)启动执行机中的JMeter服务 (4)在 ...

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

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

  4. jmeter分布式测试的坑

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

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

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

  6. jmeter分布式测试的坑(转)

    本文转自:https://www.cnblogs.com/lsjdddddd/p/5806077.html 有关jmeter分布式测试的环境配置,大概就是那样,但是每次想要进行jmeter分布式测试的 ...

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

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

  8. 转:Jmeter分布式测试

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

  9. Jmeter --- 分布式测试

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

随机推荐

  1. Autotest Weekly Report

    Autotest Weekly Report Reported by: 12/16/2013 What I Did Last Week Debug autotest scripts of ‘smart ...

  2. Jmeter Ant Task如何让beanshell断言失败的详细信息展示在report里面

    首先必须给beanshell断言添加FailureMessage if(${TotalClient_SS}+2!=${TotalClient_SS2}){Failure=true;       Fai ...

  3. CentOS 6.5 搭建cuda环境

    首先这一篇文章是我搞了N多天后,才成功一点经验,为了不至于下次搭建时忘记,所以记录下来.nivida官网有一个文档,大家可以下载看一下 https://developer.nvidia.com/cud ...

  4. 第七章 介词(La préposition )

    法语中的介词是将两个同类或非同类的词连接在一起,把一个句中成分同另一个句子成分联系起来,并表明两者之间关系的词类.介词是一种无词性变化的词类. ★介词的形式 ()简单形式的介词,如: ()复合形式的介 ...

  5. javascript 字符数组转换成以逗号隔开的字符串

    var ids = [];angular.forEach(pulsarServers,function (server) { ids.push(server.id);});ids = ids.join ...

  6. Linux服务器部署系列之二—MySQL篇

    MySQL是linux环境中使用最广泛的数据库之一,著名的“LAMP黄金组合”就要用到MySQL.关于MySQL的优点及作用,我就不多讲了,网上很多这样的文章. 今天我们要谈的是MySQL服务器的部署 ...

  7. spring boot docker 初尝试

    Docker服务中进程间通信通过/var/run/docker.sock实现,默认服务不提供监听端口,因此使用docker remote api 需要手动绑定端口. 在centos7.2下,可以进行这 ...

  8. Object-C中 - self 和super 的含义

    //super:父类         //self:自己              //自己理解         //以MobilePhone为例,父类为NSObject         //在类方法 ...

  9. HDU1254 推箱子(BFS) 2016-07-24 14:24 86人阅读 评论(0) 收藏

    推箱子 Problem Description 推箱子是一个很经典的游戏.今天我们来玩一个简单版本.在一个M*N的房间里有一个箱子和一个搬运工,搬运工的工作就是把箱子推到指定的位置,注意,搬运工只能推 ...

  10. 快速掌握Java中Lambda表达式的用法

    Lambda表达式的作用: Lambda表达式的作用就是简化代码开发,让代码看起来更加简介.它是用来简化匿名内部类的.但是并不是所有的匿名内部类都能用Lambda表达式简化,Lambda表达式是有使用 ...