Jmeter分布式测试的各种坑

2023-11-02

第一坑:启动压力机的时候,直接./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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jmeter分布式测试的各种坑 的相关文章

随机推荐

  • android Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)

    在Android群里 经常会有人问我 Android Log是怎么用的 今天我就把从网上以及SDK里东拼西凑过来 让大家先一睹为快 希望对大家入门Android Log有一定的帮助 android util Log常用的方法有以下5个 Lo
  • VsCode开发工具的入门及基本使用

    VsCode开发工具的入门及基本使用 一 VsCode介绍 1 VsCode简介 2 VsCode特点 二 安装VsCode 1 下载VsCode 2 安装VsCode 3 打开VsCode 三 设置VsCode中文 1 搜索中文语言插件
  • 200 行代码实现基于 Paxos 的 KV 存储

    前言 写完 paxos 的直观解释 之后 网友都说疗效甚好 但是也会对这篇教程中一些环节提出疑问 有疑问说明真的看懂了 例如怎么把只能确定一个值的 paxos 应用到实际场景中 既然 Talk is cheap 那么就 Show me th
  • linuxC/C++单项链表实现学生信息管理

    操作界面 结构定义 typedef struct Pserson char Name 20 int Age int Height Per typedef struct List Per per int Count int Len PList
  • 【疑难杂症】vmware虚拟机提示“该虚拟机似乎正在使用中”,并且无法获取所有权解决办法(三步解决虚拟机vmware提示正在使用中的问题)

    目 录 一 背景介绍 二 解决步骤 三 原因说明 四 参考文献 一 背景介绍 最近公司机房意外出现断电 机房的服务器来不及手动关机也都 啪唧 一下突然下了电 于是乎服务器上的vmware虚拟机因为异常中断 出现了如下异常 虚拟机上出现红色叉
  • windows和Linux下用qt开发串口调试助手

    windows下开发串口调试助手 当在Windows环境下使用Qt开发串口调试助手时 可以使用Qt的串口模块 QSerialPort 来实现串口通信功能 下面是一个简单的代码示例 详细说明了如何使用Qt开发串口调试助手 首先 需要在Qt项目
  • rtmp/rtsp/hls公网真正可用的测试地址

    相信大家在调试播放器的时候 都有这样的困惑 很难找到合适的公有测试源 以下是大牛直播SDK GitHub地址 整理的真正可用的直播地址源 其中 rtmp和rtsp的url 用我们播放器验证通过 1 rtmp 58 200 131 2 193
  • Forster论文预积分难理解部分推导(不定期更新)

    预积分 横线上面是今早泡泡机器人推送的推导过程 完全摘抄了下来 但这个式4 1到下一步却很晦涩 下面是详细推导
  • Python获取 只因 弹幕数据+制作词云分析.........就差唱、跳、rap不会了

    人生苦短 我用python 最近在小破站热门上看见了这个 不得不说还是挺不一样的 对吧 什么你说不是 哎呦 你干嘛 咳咳 话不多说 让我们一起来康康 基本开发环境 Python 3 6 Pycharm 相关模块的使用 requests re
  • HTML浮动窗口效果

    因项目中弹出窗口用的是thickbox 但是这个插件不支持多次层级弹出 但是需求需要实现的功能又是在弹出窗口中再次用一个弹出窗口展示效果 就想到了用浮动窗口效果 直接上代码 点击按钮弹出浮动窗口
  • 代码随想录算法训练营day1~18总结

    时间 空间复杂度 解题过程中运用的函数补充说明 数组 day1 http t csdn cn dBSgY day2 http t csdn cn JTDvH 数组总结 链表 day3 http t csdn cn mJx9V day4 ht
  • PAT乙级刷题之路1055 集体照 (25分)

    1055 集体照 25分 拍集体照时队形很重要 这里对给定的 N 个人 K 排的队形设计排队规则如下 每排人数为 N K 向下取整 多出来的人全部站在最后一排 后排所有人的个子都不比前排任何人矮 每排中最高者站中间 中间位置为 m 2 1
  • 动态修改 MeshCollider

    借鉴 https www cnblogs com imteach p 10348744 html using System Collections Generic using UnityEngine RequireComponent typ
  • 关于超参数调优及迁移学习的一些见解

    前言 最近看了一本书 TensorFlow 实战google深度学习框架 其中里面的在第6章中的6 5 2这个小结中 里面有这样的一个代码 具体我就不贴了 总之就是先通过图片数据输入成一个 npy文件 然后通过这个npy文件来输入到模型中
  • 4.20/21实习总结:k8s

    文章目录 什么是k8s 是个软件系统 容器集群管理工具 提供了应用部署 规划 更新 维护的一种机制 1 k8s组件 2 k8s对象 都可以在yaml文件中作为一种API类型来配置 3 namespace名称空间 通过名称空间在同一个物理集群
  • Android开发技巧(三)—— 创建定时任务

    每种手机都有自己的休眠策略 Android手机在长时间不操作时会自动让CPU进入睡眠状态 这就导致JAVA原生Timer的定时任务无法运行 所以我们需要借助Alarm唤醒CPU 一 Alarm机制 Alarm借助了AlermManager类
  • React 常用生命周期函数

    文章目录 React 生命周期图示 创建 constructor render componentDidMount 更新 render componentDidUpdate prevProps prevState 卸载 componentW
  • P2597 [ZJOI2012]灾难【支配树】

    题目链接 这是一道支配树的模板题了 然后写一下我初见支配树的理解 第一次碰到支配树是在昨天的多校第三场的1002 当时我推了个拓扑排序加上LCA的求差 dp a dp b dp lca a b 来解这个问题 然后为了处理出来每个的dp值 我
  • caret教程10:随机森林示例

    我们今天给大家演示下caret包做随机森林分类的一个小例子 同时也给大家看看做预处理和不做预处理两种情况下的模型表现 加载R包和数据 rm list ls library caret Loading required package ggp
  • Jmeter分布式测试的各种坑

    第一坑 启动压力机的时候 直接 jmeter server 会报如下错误 错误原因 127 0 0 1是本机 一个回路地址 没有指定地址 正确的启动方式 启动命令加一个参数 IP地址写压力机对应的地址 jmeter server D jav