`

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分布式性能配置及使用

    分布式性能测试

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

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

    Jmeter分布式测试配置

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

    jmeter分布式压测包

    《JMeter分布式压力测试详解》 在现代软件开发过程中,性能测试是不可或缺的一环,而Apache JMeter作为一款开源、跨平台的压力测试工具...正确配置和使用JMeter分布式测试,是保障软件质量和优化系统性能的重要手段。

    jmeter分布式测试.rar

    《JMeter分布式测试详解》 在软件性能测试领域,Apache JMeter是一款广泛应用的开源工具,尤其在进行压力和负载测试时。本篇文章将深入探讨JMeter的分布式测试,旨在帮助测试人员理解并掌握如何利用JMeter进行大...

    Jmeter分布式执行.docx

    下面将详细介绍 JMeter 分布式执行的配置和实现过程。 分布式执行的必要性 在进行压力测试时,通常需要多台机器来模拟大量用户的请求,以便更好地模拟实际情况。但是,如果每台机器都需要单独配置和启动,会造成很...

    JMETER 分布式注意事项

    JMETER 分布式注意事项 在进行 JMETER 分布式测试时,需要注意以下几个关键点,以确保测试的顺利进行和结果的准确性。 首先,保持 Contorller 和 Agent 机器的 JDK、JMeter 以及插件等配置版本的一致性非常重要。...

    第9章 高级篇之多节点JMeter分布式压测实战

    本章将深入探讨“第9章 高级篇之多节点JMeter分布式压测实战”,这一章节聚焦于如何利用JMeter进行多节点的分布式压力测试,以模拟大量并发用户对系统进行负载和稳定性测试。以下是对这一主题的详细阐述: 一、...

    JMETER分布式部署实践详解

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

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

    在本压缩包"MQTT-Jmeter分布式测试相关配置文档1.rar"中,我们将深入探讨如何使用JMeter进行MQTT协议的分布式测试。 MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅消息协议,设计用于物联网...

    Jmeter Windows端分布式压测配置

    描述Jmeter在Windows端分布式压测,调度机和执行机的相关配置,亲测有效,如果单个机器无法完成压测需求,可以在Windows端使用多个电脑作为执行机进行压测。

    性能监控之JMeter分布式压测轻量日志解决方案.docx

    在性能监控领域,JMeter分布式压测是常用的一种工具,用于模拟大量用户并发访问系统,以测试其性能和稳定性。然而,在进行分布式压测时,如何有效地监控和分析日志数据,特别是错误响应,成为了一个挑战。传统的日志...

    JMETER 分布式测试

    2. **启动JMeter**:在配置好后,启动JMeter,在工具中设置线程组、配置元件、取样器、监听器等,然后通过“运行-远程启动”菜单命令选择远程启动单个或全部Agent,开始分布式测试。 ### 其他注意事项 1. **独立的...

    基于JMeter开展性能测试教程(插件、监控、分布式压测)

    基于 JMeter 开展性能测试教程(插件、监控、分布式压测) 基于 JMeter 的性能测试是软件测试中的一种重要方法,通过 JMeter,可以对软件系统进行压力测试、负载测试和性能测试。本教程将详细介绍如何使用 JMeter ...

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

    #### 一、JMeter分布式测试概述 在软件性能测试领域,JMeter是一款非常流行的开源负载测试工具,它主要用于对Web应用进行压力测试。随着互联网应用的发展,单一的服务器往往难以满足高并发访问的需求,因此在性能...

    Jmeter分布式测试

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

Global site tag (gtag.js) - Google Analytics