zoukankan      html  css  js  c++  java
  • JMeter学习-028-JMeter默认jmx脚本分发目录(路径)定制

    我们在分布式执行参数化脚本时,为尽可能多的利用Slave资源,尽可能将参数文件配置为相对路径,以更好的去适配Slave环境。与此同时,每台Slave的服务jmeter -s 启动的路径可能不尽相同,同一台也可能因不同的操作人员启动时导致其 user.dir 进行了变化,从而参数文件不易管理分发。通常,我们大多采用shell脚本的形式,在固定的路径启动JMeter服务,并在执行测试前将相应的参数文件的分发至Slave对应的路径。

    那么,有什么方法可以更好地解决这个问题呢?

    我们可通过对JMeter进行定制来解决。

     

    通过查看 JMeter 源码可知,设置路径的方法在 FileServer.java 中,其对应的构件名为:ApacheJMeter_core.jar,对应的源码路径是 apache-jmeter-3.0srccoreorgapachejmeterservicesFileServer.java。

    对应的两个主要设置 base(路径)方法如下所示:

    public synchronized void setBase(File jmxBase)

     

    public synchronized void setBasedir(String basedir)

    通过修改如上两个方法,将 base 重新修改为自己定制的路径(例如获取系统 JMETER_HOME 的路径,或者读取配置文件配置的路径)即可。

     

    具体操作步骤如下所示:

    1、解压 ApacheJMeter_core.jar 至 ApacheJMeter_core 目录

    2、修改 FileServer.java,定制所需路径

    3、编译 FileServer.java,生成字节码文件(各构件与 FileServer.java 放在同一目录)

         javac -classpath ApacheJMeter_core.jar;commons-collections-3.2.2.jar;jorphan.jar;logkit-2.0.jar FileServer.java

    4、将生成的字节码文件拷贝至目录 ApacheJMeter_coreorgapachejmeterservices 下覆盖源文件

    5、重新打包 ApacheJMeter_core.jar

        ApacheJMeter_core>jar -cvf ApacheJMeter_core.jar *

    6、将新打包的 core 构件放到 JMETER_HOMElibext 目录下,覆盖原文件即可

    7、重新执行命令 jmeter -s 启动 JMeter 服务

     

    若是对重新打包依然有疑问,请参阅之前的文章 Java学习-039-源码 jar 包的二次开发扩展实例(源码修改),谢谢!

    至此,此文顺利完结,希望此文能够给初学 JMeter 的您一份参考。

    最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^

     

  • 相关阅读:
    学习视频收集
    vscode 编译器插件
    vue2.0父子组件之间传值
    js 案例
    插件
    【转】30分钟掌握 C#6
    【初码干货】关于.NET玩爬虫这些事
    上机作业七 系统进程与计划任务管理
    客户端与服务器双向密钥对验证
    DHCP中继配置
  • 原文地址:https://www.cnblogs.com/fengpingfan/p/5603594.html
Copyright © 2011-2022 走看看