jemter + ant 远程启动salve机器
1|0一. 背景
主机:windows 7 8G + 500SSD + 500HDD
助攻机:虚拟机 Windows Server 2008 R2 2G + 80G
主机和助攻机做分布式,需要结合jenkins + ant做持续集成,但发现如果jmeter脚本要在助攻机上运行,如果每次在主机jmeter GUI界面上手动远程启动助攻机,不太方便,因此想通过配置ant的方法来解决这个问题
2|0二. 通过配置build.xml的办法
这个方法在github ant-jmeter文档中有提及:有个参数是runremote,它如果设置为"true",就会运行jmeter.properties中指定的助攻机,因此我们得出结论,需要配置两个参数jmeterproperties 和 runremote
配置方法也比较简单
3|0三. 坑一:Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
一直卡在这里,最后不得不终止
后来参考《Jmeter远程执行,slave机器显示调用成功,但是master机器没有返回测试结果解决》这篇文档,关了Vmware network Adapter vmnet1和Vmware network Adapter vmnet8
后来发现禁用了xshell就连不上了,于是又启用了
参考另一篇文章《为什么 jmeter 分布式测试,一定要设置 java.rmi.server.hostname》里面罗列了4445端口问题的几个原因:
1. 防火墙干扰 这个我已经关了的
2. 关闭监听功能 暂未尝试
3. 端口没有开启
4. 信息被阻塞
5. 在日志中寻找
这里按照方法5做了排查,打开助攻机的jmeter-server.log,发现果然有一行错误
192.168.56.1,这是什么鬼?不是我主机ip,那篇文章里说道
根据对 jmeter master/slave 通信机制的理解,不仅 master 主动向 slave 通信, slave 也向 master 主动通信,自然要知道彼此的地址。
由此联想到,在 slave 节点多网卡的时候,一般都设置 hostname,猜测 master 也需要进行同样的设置,告知 slave 自己的通信地址。
于是在 ubuntu master 主机的 system.properties 最后一行添加,
然后在主机的system.properties中配置主机ip即可
4|0四. 坑二:error 100%
jenkins上显示
测试报告中显示,这不是我们期望的
其中接口的响应结果是
后来试了多次,换了个脚本,发现在同样的环境下,助攻机得到了正确的执行,这个是启用了10个线程顺序去执行,没有并发,因此说明环境应该是对的,可能出错在被测系统,这个有待排查
5|0五. 总结
对linux的网络很不熟,因此在这一块绕了很多弯,后面需要加强
__EOF__

本文链接:https://www.cnblogs.com/my_captain/p/11743098.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2018-10-26 解决:Android 8.0检测不到当前的activity