JMeter学习-028-JMeter默认jmx脚本分发目录(路径)定制

来源:互联网 发布:caffe 环境配置vs2015 编辑:程序博客网 时间:2024/05/16 07:01

JMeter学习-028-JMeter默认jmx脚本分发目录(路径)定制

 

http://www.cnblogs.com/fengpingfan/p/5603594.html

 

 

 

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

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

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

通过查看 JMeter 源码可知,设置路径的方法在 FileServer.java 中,其对应的构件名为:ApacheJMeter_core.jar,对应的源码路径是 apache-jmeter-3.0\src\core\org\apache\jmeter\services\FileServer.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_core\org\apache\jmeter\services\ 下覆盖源文件

5、重新打包 ApacheJMeter_core.jar

    ApacheJMeter_core>jar -cvf ApacheJMeter_core.jar *

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

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

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

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

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

我本渺小,但山峰,我一次次绝顶!


PS:若有错误,敬请告知,不胜感激!
Copyright @范丰平 版权所有,如需转载请标明本文原始链接出处,严禁商业用途! 我的个人博客链接地址:http://www.cnblogs.com/fengpingfan
0 0
原创粉丝点击