• 在多机器上远程执行JMeter


    安装完jmeter之后直接执行%InstallDir%apache-jmeter-3.2inJMeter.bat可以启动UI界面,可以编辑或者执行TestPlan等,默认情况下,用例是在本机执行,而且执行的线程有限,对应的,对服务器的压力也有限。如果我们想要对目标服务器或服务器组增加足够的压力,就需要足够的线程去完成,相对应的,仅仅是一台机器说能执行的线程不足以承担这样的工作量,所以,我们就需要考虑用多台机器同时运行,而且要协同工作,然后对我们的测试环境增压。这种情况,我们就需要改Jmeter的配置来完成:

    通常,由于多机器同时运行Jmeter,如果我们用UI的方式去远程执行或者控制的话,当线程比较多时,由于交互比较频繁,数据传递也比较多,这样就容易导致JMeter的UI窗体卡死,甚至直接死掉,最终让我们的执行计划中断。针对这种情况,我们一般用命令行的方式去启动JMeter来执行。

    在执行测试之前,我们需要做如下工作:

    1. 在要执行JMeter的多台机器上都装上JMeter。
    2. 在上面安装完JMeter的机器中选择一台作为我们的控制器,以用来执行或者停止测试。
    3. 在控制器上,用记事本打开目录%InstallDir%apache-jmeter-3.2in 下的jmeter.properties 文件。然后找到“# Remote hosts and RMI configuration”,在它的下面有一行如:“remote_hosts=127.0.0.1”,把这行改为如下(对应的IP为其他几台安装JMeter的机器IP),然后保存:

    remote_hosts=10.185.76.211,10.185.76.215,10.185.76.216,10.185.76.212,10.185.76.213

           4. 然后把编辑好的TestPlan 文件,以及TestPlan需要用到的其他资源文件(如,CSV文件,KeyStore文件等)复制到所有JMeter机器的相同路径下,以便于JMeter执行时能够正确找到。

           5. 在除控制器之外的其他JMeter的主机上启动JMeter,直接到%InstallDir%apache-jmeter-3.2in下从命令行执行".jmeter.bat -s" 来启动JMeter server.

    当然,在执行JMeter测试之前,还得确认测试环境是否正常工作。

    等以上准备工作准备好了之后,就可以在控制器上用命令行运行JMeter执行测试了。用管理员权限打开命令行窗口,然后转到文件夹%InstallDir%apache-jmeter-3.2in,命令如下:

    jmeter -n -r -t %JMeterTestPlanFile% -e -l %JmeterLogFileName% -o %ReportOutPutFolder%

    sample:

    jmeter -n -r -t C:TestTestPlanScaleTest.jmx -e -l C:TestDataScaleRunResultLog.jtl -o C:TestData

    如果执行的时候没有生成report,可以用下面的命令重新生成report。

    jmeter -g %JMeterLogFile% -o %ReportFileWillOutput%

    sample:

    jmeter -g C:TestDataScaleRunResultLog.jtl -o C:TestData

    其他:

    Go to your JMeter directory and open your system.properties file. 

    There, uncomment the following lines, and change the file to match your values:

    javax.net.ssl.keyStore=<your_JKS_filename.jks>

    javax.net.ssl.keyStorePassword=yourJKSpassword

    import cert to keystore:

    C:Program FilesJavajre1.8.0_91in>keytool -importkeystore -srckeystore C:certtest.pfx -srcstoretype PKCS12 -srcstorepass password -keystore C:ConfigsApiTest.keystore -storepass password -srcalias 1 -destalias TestStoreName

    (完)

  • 相关阅读:
    Cipherlab CPT9300手持扫描枪开发体验 [转]
    引用(ajaxfileupload.js) ajaxfileupload.js报jQuery.handleError is not a function错误解决方法
    C#锐利体验2.0:泛型编程
    Visual C#中调用Windows服务初探
    C#操作XML代码整理
    个人代码库のC#背景色渐变的功能
    ~~ C#数字时钟 ~~
    DevExpress随笔10.1.5的汉化与破解
    用C#获取局域网内所有机器
    C# 图片格式(JPG,BMP,PNG,GIF)等转换为ICO图标
  • 原文地址:https://www.cnblogs.com/lijavasy/p/remote_Jmeter.html
Copyright © 2020-2023  润新知