zoukankan      html  css  js  c++  java
  • Jmeter分布式测试实战

     一、Jmeter分布式测试基础

    1、Jmeter分布式测试原因:

      在使用Jmeter进行接口的性能测试时,由于Jmeter 是JAVA应用,对负载机的CPU和内存消耗比较大。所以当需要模拟数以万计的并发用户时,可能会导致单台负载本身扛不住,出现的瓶颈。为了解决以上的问题,Jmeter提供的分布式功能,同时启动多台电脑进行分布式测试。

    2、什么情况下采用分布式测试:

      1、在进行压测的过程中如果出现Jmeter未响应,卡住,反应慢等现象。随即启动任务管理器进行查看,如果cup和内存都特别大。就可以说明现在的负载机出现了瓶颈,需要进行分布式测试。

      2、随着并发数的增长,TPS不再增长,即出现瓶颈(排除服务器瓶颈及其他)。可能是现在的负载机出现了瓶颈,需要进行分布式测试。

      3、在进行压测的过程中出现错误,如Unrecognized Windows Sockets error: 0: recv failed。可能是现在的负载机出现了瓶颈,需要进行分布式测试。

    3、Jmeter分布式执行原理:

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

      2、执行时:master会把脚本发送到每台slave上,slave拿到脚本后开始执行,slave执行时不需要启动Jmeter。只需要把jmeter-server.bat文件打开,它会自动通过非GUI模式来执行。(注意:如果引用到csv等外部的文件,则每台slaver所在的机器都需要相应位置放置该文件。)

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

    二、Jmeter分布式测试实战

    1、执行机slave配置:

      1、slave机上需要安装JDK、Jmeter。并且配置好环境变量。

      2、打开Jmeter/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,把这一行修改为”remote_hosts=192.168.11.14:1099,1099是端口号(本人使用的是3.3的版本,可以不用写端口号,Jmeter会自动识别)。

       

         3、打开jmeter-server.bat文件,就设置完成了,等待控制机(Controller)启动。

           

     2、控制机(Controller)配置:

        1、Controller机上需要安装JDK、Jmeter。并且配置好环境变量。

        2、打开jmeter-server.bat文件,就设置完成了,等待控制机(Controller)启动。

        3、打开Jmeter/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,把这一行修改为”remote_hosts=192.168.8.149:1099,192.168.8.174:1099,1099是端口号(本人使用的是3.3的版本,可以不用写端口号,jmeter会自动识别)。

       

     (此处写的是执行机的ip),如果有多台代理机,这里需要把所有的代理机的IP地址都加入进来。

       4、打开jmeter-server.bat文件,设置完成了。

    3、运行分布式测试

    以访问百度为例:

         

        

        

        

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

        1、JMeter 的 Controller 和 Agent 之间进行通讯的默认 RMI

        2、master和slave机中的jmeter版本必须一致(小版本也得一致)。

        3、java的版本也得一致,不能一个java7一个java8(只要大版本一致即可)

       4、单个运行某个执行机的IP时,如果提示错误:Engine is busy - please try later。

     

    或者提示: Connection refused to host: 192.168.11.14; nested exception is: 
    java.net.ConnectException: Connection timed out: connect 

     

    解决方法:

     

     参考:

    ---------------------------------------------------------------------------------------------------------------------------

    https://www.cnblogs.com/fennudexiaoniao/p/6913395.html
    https://www.cnblogs.com/fennudexiaoniao/p/6913395.html
    https://www.cnblogs.com/whitewasher/p/6946207.html

  • 相关阅读:
    nginx反向代理配置
    在页面完成读取EXCEL
    把List<string>转为DataTable
    临时表
    在aspx页动态加载ascx页面内容,给GridView控件绑定数据
    Content 控件
    if exists和if not exists关键字用法
    创建试图
    MyGeneration代码生成工具
    SQL Server 触发器触发器
  • 原文地址:https://www.cnblogs.com/zhuxr/p/9732213.html
Copyright © 2011-2022 走看看