`

Jmeter 分布式配置

阅读更多

       使用Jmeter有一段时间了,却很少写总结。下午有个朋友向我询问jmeter分布式的配置,晚上回来顺便写点东西吧!

       在使用Jmeter进行性能测试时,如果并发数比较大(比如某个项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能。

 

一、Jmeter分布式执行原理

 

   1、Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave)。

 

   2、执行时master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,我理解它应该是通过命令行模式执行的。

 

   3、执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总。

 

二、执行机(slave)配置

       1、JDK (所有测试机统一版本,我使用的是1.7)

          1.1 安装JDK

          1.2 配置环境变量:JAVA_HOME,JMETER_HOME,PATH,CLASSPATH

 

       2、Jmeter(所有测试机统一版本)

          2.1 官网下载,我使用的是apache-jmeter-2.13

          2.2 修改jmeter-server文件(master、slave都要配置)

              添加 RMI_HOST_DEF=-Djava.rmi.server.hostname=172.18.11.20(slave IP)     

             在这里说明一下,为何指定本机的IP呢,是因为有些公司采用的是双网卡或者更多网卡,如果不指定就会报错。(具体error msg 后面我会说)

 

          2.3 master端修改jmeter.bat 文件

              添加set rmi_host=-        Djava.rmi.server.hostname=172.18.11.39(master IP)

              set ARGS=%DUMP% %HEAP% %NEW% %SURVIVOR% %TENURING% %PERM% %DDRAW% %rmi_host%

 

          2.4 在jmeter.properties中自定义端口(也可以不修改)

            agent 默认端口为1999 ,我这里修改某台机器的端口为1888

            server_port=1888  

            server.rmi.localport=1888

 

          2.5 启动服务

           比如我有2台agent 172.18.11.199,172.18.11.20(多台配置重复上面的2.1、2.2、2.3、2.4)

           分别启动 jmeter_server.bat

三、调度机( master)配置:    

       1、修改jmeter.properties

           添加 remote_hosts=172.18.11.20:1888,172.18.11.199:1889(多台 agent使用逗号隔开)

 

       2、重新启动jmeter.bat 

           这里可以看到所配置的slave的IP:PORT,这里可以选择启动某一台,或者选择全部启动.(如下图)

     
     

 四、注意点说明:

  1、调度机(master)和执行机(slave)最好分开,由于master需要发送信息给slave并且会接收slave回传回来的测试数据,所以master自身会有消耗,所以建议单独用一台机器作为master。

  2、参数文件:如果使用csv进行参数化,那么需要把参数文件在每台slave上拷一份且路径需要设置成一样的。

  3、每台机器上安装的Jmeter版本和插件最好都一致,否则会出一些意外的问题。

 

五、可能遇到的问题:

      1、执行机(slave)启动jmeter-server服务时,提示:

             Could not find ApacheJmeter_core.jar …

            … Trying JMETER_HOME=..

             Found ApacheJMeter_core.jar

            这个是因为开始没有找到ApacheJmeter_core.jar,然后去JMETER_HOME目录下查找,最后找不到了。如果不希望看到Could not find的字样,可以配置一下jmeter_home的路径(即bin目录的上一级目录),这样启动jmeter-server服务时,就只会看到Found ApacheJMeter_core.jar,当远程访问时,会看到控制台上打印出一行:Starting the test on host [ip]:port @....(大概是这样的,@后面是执行开始的时间),远程执行结束,会打印一行:Finished the test on host [ip]:port @...,表示远程执行结束。

      2、调度机(master)远程启动时如下图

      


        原因分析:

      Jmeter采用了rmi进行远程调用,在开启RMI服务时,如果服务端有多个网卡,它只是使用其中任意一个网卡,默认情况下,导致jmeter的master机器和slaves机器不在同一个网段内,无法互通,导致失败。

      解决方法为:2.2、2.3中的配置

 

 

 

 

如有疑问,欢迎加 企鹅群:113097051

  • 大小: 2.2 KB
  • 大小: 13.3 KB
分享到:
评论

相关推荐

    JMETER分布式部署实践详解.rar

    02JMETER分布式原理 03jmeter 配置 slave 代理压测机 04jmeter 配置master控制器压测机 05JMETER分布式部署注意事项 06JMETER SLAVE和MASTER 分布式启动压测 07JMETER 分布式踩过的坑及填坑方法

    JMeter分布式原理,远程启动配置,jmeter在Linux上分布式压测环境搭建配置,命令行运行+问题集合,修改jvm值

    本人实践,物超所值,一站式解决jmeter负载机环境问题,问题集合含: 1 slave机器的自定义端口号配置; 2 负载机(Slave)找不到参数文; 3 无数据,依赖文件报错的问题; 4 Server failed to start: java.rmi....

    Linux与jmeter分布式性能配置及使用

    分布式性能测试

    MQTT-Jmeter分布式测试相关配置文档1.rar

    包含了Jmeter分布式测试相关配置文档,包含了Jmeter分布式测试相关配置文档,包含了Jmeter分布式测试相关配置文档,包含了Jmeter分布式测试相关配置文档。

    JMeter执行分布式测试配置&部署

    在测试机器配置低情况下,如何通过分布式部署jmeter在一个分布式局域网环境?本文档告诉你如何做。

    Jmeter分布式测试配置

    利用JMeter进行负载测试的时候,使用单台机器模拟测试超过1000个行程的并发就有些力不从心,在执行的过程中,JMeter自身会自动关闭,要解决这个问题,可以使用分布式测试,运行多台机器运行所谓的 Agent 来分担 ...

    JMETER分布式部署实践详解

    JMETER分布式部署实践详解 JMETER 为什么需要分布式 单台压测机通常会遇到客户端瓶颈,受制于客户机的性能。可能由于网络带宽,CPU,内存的限制不能给到服务器足够的压力,这个时候你就需要用到分布式方案来解决...

    Jmeter分布式测试

    测试计划描述了执行测试过程中JMeter的执行过程和步骤,一个完整的测试计划包括一个或者多个线程组(Thread Groups)、逻辑控制(Logic Controller)、实例产生控制器(Sample Generating Controllers)、侦听器...

    linux下Jmeter分布式压测

    目录 一、使用缘由 二、配置流程 1.下载jmeter安装包 2.配置调度机 3.配置执行机 4. 调度测试 ... 配置Jmeter分布式压测(多台机器同时发起请求) Jmeter开启压测。 之后,集成jenkins+grafana+prome

    JMETER 分布式测试

    按照一般的PC 机配置,jmeter的GUI模式下(Windows),最多支持300--500 左右的模拟请求线程,再大的话,容易测试客户端假死、无响应等情况,这是限于jmeter其本身的机制和硬件配置。 真实业务场景中间模拟请求线程...

    性能测试培训:分布式测试之jmeter

    1、Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave)。2、执行时,master会把脚本发送到每台slave上,slave拿到脚本后就开始执行,slave执行时不需要启动GUI,我理解它应该是通过...

    JMETER 分布测试完整实践过程

    1. 我的jmeter版本是 apache-jmeter-5.1,在 agent 机器上需要修改配置 jmeter.properties,修改以下两处配置:1)找到 server_port 去掉 #,设置端口 。 2)找到server.rmi.ssl.disable=false 改成 true

    linux下服务器的监控(grafana+prometheus)

    目录 一、使用缘由 二、配置流程 1.下载安装grafana 2.下载安装prometheus 3.grafana集成prometheus 三、参考文档  ... 配置Jmeter分布式压测(多台机器同时发起请求)  Jmeter开启压测。 之后,集成

    软件测试系列-Jmeter压力测试分布式执行.md

    主要介绍Jmeter压力机在Linux环境命令行压测的部署与配置,各个服务器需要修改的配置文件,例如hosts文件,远程服务器ip打开,都启动`nohup ./jmeter-server &` (后台启动jmeter-server服务)例如 压力机也可以是...

    JMETER组件介绍笔记

    jmeter.propertis 是jmeter 中间的核心文件 基本所有的JMeter 配置项都是在这个配置文件中间,比如: 设置字符集、设置监听器中间的模板、如果将来做分布式,服务器的代理等配置项都是在这个文件中间 路径:D:\apache-...

    jmeter-视频地址.txt

    课程主要目录: 1:Jmeter 安装及环境配置 2:Jmeter 目录及配置文件说明 3:Jmeter 各大组件介绍说明 4:实战项目环境搭建 5:脚本录制之 badboy 6:脚本录制之 jmeter 代理 7:脚本录制之移动端APP录制 8:Fiddler...

    jmeter学习教程视频下载

    19:Jmeter之分布式压测 20:jmeter扩展插件 21:自己动手开发jmeter插件 22:FTP协议实战 23:WebService协议实战 24:JDBC协议实战 25:JDBC协议实战增删改查 26:JDBC协议实战高级操作 27:...

    #4额安装插件(jmeter本身不能监测cpu、内存和吞吐量)

    jmeter压测性能测试配置 1,jmeter扩展插件:把JMeterPlugins-Standard.jar标准包和JMeterPlugins-Extras.jar扩展包这两个监听的插件放入jmeter...②创建一个分布式线程组并进行配置→创建监听器里的结果树和聚合报告

    jmeter 目录结构详细讲解

    jmeter-server.bat windows分布式测试要用到的服务器配置 jmeters-server linux分布式测试要用的服务器配置 其中系统配置文件中的SSL设置重点关注如下几个: # 指定HTTPS协议层 https.default.protocol=TLS # 指定...

Global site tag (gtag.js) - Google Analytics