Jmeter(8)分布式测试

通过Jmeter远程启动功能,把一台windows机器作为控制器,远程控制其他多个Windows或linux压力机,把压力分散到多台执行机器上,从而实现高并发,并在控制机上搜集测试结果

Jmeter分布式步骤

一、远程机配置

     远程机需要安装jdk和jmeter,最好和控制机上的版本保持一致,要保证jmeter能正常运行

     1、启动远程机的jmeter-server

     在远程机的jmeter的bin目录下,启动jmeter-server命令启动jmeter服务,启动成功如下截图

    

     2、修改远程机jmeter默认端口号

     在jmeter的bin目录下的jmeter.properties,修改文件中的server_port和server.rmi.localport

     server_port=1029

     server.rmi.localport=1029

     这两项必须同时修改且一样

     修改后重新执行jmeter-server,结果如下,表示修改成功

    

 二、控制机配置

    在控制机上要保证执行命令能发送到远程机上,需要在控制机上配置远程机的ip地址和port

    在控制机jmeter的bin目录下的jmeter.properties,修改文件中的remote_hosts,其中ip和port即为上述步骤中远程机的ip和port,配置如下

    remote_hosts=192.168.0.110:1029

    多个远程机配置用逗号分隔

三、远程启动和停止

     1、控制机配置完成后打开jmeter的GUI界面,在菜单栏的运行-远程启动中可以看到配置的远程机ip

     

     2、创建测试计划,点击运行-远程启动,即可启动远程机了,可以在远程机上看到控制台信息

    

     3、可以在控制器上通过监听器查看控制机运行结果

    

     4、点击运行-远程停止,停止远程机运行

    

四、Jmeter分布式需要注意的问题

1、如果使用csv参数化,需要把参数文件在每台远程机上配置一份,最好放在bin目录下,jmeter会直接在bin目录下查看

2、远程机执行测试脚本时,若断言执行成功时,在控制机上是看不到请求响应数据的,只有在断言出错时才可看到远程机的返回

3、远程机启动jmeter-server.bat时,报错Server failed to start: java.rmi.server.ExportException: Listen failed on port: 1029; nested exception is:
        java.io.FileNotFoundException: rmi_keystore.jks

     解决办法:将远程机的jmeter.properties文件中的#server.rmi.ssl.disable=false改成true,并去掉#保存后,重启jmeter

4、控制机点击远程启动时,报错Exception creating connection to: 192.168.0.110; nested exception is:
    java.io.FileNotFoundException: rmi_keystore.jks (系统找不到指定的文件。)

     解决办法:将控制机的jmeter.properties文件中的#server.rmi.ssl.disable=false改成true,并去掉#保存后,重启jmeter

   

   文章https://blog.csdn.net/qq_30068487/article/details/80090041总结jmeter分布式比较全面,推荐给大家

原文地址:https://www.cnblogs.com/testerlina/p/12269473.html