zoukankan      html  css  js  c++  java
  • jemter + ant 远程启动salve机器

    一. 背景

    主机:windows 7  8G + 500SSD + 500HDD

    助攻机:虚拟机 Windows Server 2008 R2 2G + 80G

    主机和助攻机做分布式,需要结合jenkins + ant做持续集成,但发现如果jmeter脚本要在助攻机上运行,如果每次在主机jmeter GUI界面上手动远程启动助攻机,不太方便,因此想通过配置ant的方法来解决这个问题

    二. 通过配置build.xml的办法

    这个方法在github ant-jmeter文档中有提及:有个参数是runremote,它如果设置为"true",就会运行jmeter.properties中指定的助攻机,因此我们得出结论,需要配置两个参数jmeterproperties 和 runremote

     配置方法也比较简单

    三. 坑一: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,发现果然有一行错误

    java.rmi.ConnectException: Connection refused to host: 192.168.56.1; nested exception is: 
        java.net.ConnectException: Connection refused: connect

     192.168.56.1,这是什么鬼?不是我主机ip,那篇文章里说道

    根据对 jmeter master/slave 通信机制的理解,不仅 master 主动向 slave 通信, slave 也向 master 主动通信,自然要知道彼此的地址。

    由此联想到,在 slave 节点多网卡的时候,一般都设置 hostname,猜测 master 也需要进行同样的设置,告知 slave 自己的通信地址。

    于是在 ubuntu master 主机的 system.properties 最后一行添加,

    java.rmi.server.hostname=10.27.2.13

    然后在主机的system.properties中配置主机ip即可

    四. 坑二:error 100%

    jenkins上显示

     测试报告中显示,这不是我们期望的

     其中接口的响应结果是

    Non HTTP response code: org.apache.http.conn.HttpHostConnectException - Non HTTP response message: Connect to 192.168.20.129:8080 [/192.168.20.129] failed: Connection timed out: connect

    后来试了多次,换了个脚本,发现在同样的环境下,助攻机得到了正确的执行,这个是启用了10个线程顺序去执行,没有并发,因此说明环境应该是对的,可能出错在被测系统,这个有待排查

    五. 总结

    对linux的网络很不熟,因此在这一块绕了很多弯,后面需要加强

  • 相关阅读:
    平面划分问题
    First Missing Positive
    Redis.conf
    Redis内存存储结构分析
    IE9崩溃解决办法
    未能正确加载包"visla Studio HTM Editor Package"(GUID={1B437B20F8FE11D2A5AE00104BCC7269})
    SQL SERVER 数据类型详解
    创建TIff虚拟打印机
    VS2010出现错误the operation could not be completed
    C# 基础知识 20101118
  • 原文地址:https://www.cnblogs.com/my_captain/p/11743098.html
Copyright © 2011-2022 走看看