zoukankan      html  css  js  c++  java
  • jmeter-获取系统最大并发数

    问题:有一个页面,需要测试一下最大支持多少用户并发?

    此时需计算的是最大用户并发数,强调的是同时操作,也可以理解为同时发起请求;

    针对这个问题,我们可以通过rps定时器或阶梯加压线程组测试每秒最大的请求数;

    首先需要导入jmeter-plugins插件 ,然后去初始化需要用到的插件

    在平衡状态下,并发数=RPS*响应时间

    a)使用jp@gc - Throughput Shaping Timer(吞吐量成形计时器,调节rps的定时器);

    设置线程组中线程数为50,ramp-up时间为1s,永远循环;

    同时在请求下面加Throughput Shaping Timer定时间,rps由1增加到400/s;

    测试最终运行时间取 线程组运行时间 与 定时器时间的最小值;

    设置后我们需要添加几个性能测试中常用的监听器:

    添加监听器Hits per Second(每秒请求数)

    观察HPS走势,HPS在140的时候持续了十几秒,随后HPS稳定在100

     添加监听器 Transaction per second

    TPS在48/s稳定了十几秒,然后稳定在30/s

      添加监听器 jp@gc - Response Times Over Time

    平均响应时间在3s以内

     

     在比较稳定的情况下,最大rps=140/s,平均响应时间=1.6s,则最大并发=140*1.6=224,也就是224个线程同时启动可满足1s内140/s HPS压力值

    b)使用阶梯加压线程组

    功能如下:

    This group will start 100 threads:设置线程组启动的线程总数为400个;

    First,wait for N seconds:启动第一个线程之前,需要等待N秒;

    Then start N threads:设置最开始时启动N个线程;

    Next,add 100 threads every 2 seconds,using ramp-up 10 seconds:每隔2秒,在10秒内启动100个线程;

    Then hold load for 40 seconds:启动的线程总数达到最大值之后,再持续运行40秒;

    Finally,stop 100 threads every 0 seconds:同时停止100个线程;

    设置阶梯线程组各配置项后,再添加各个监听器后观察,发现得出的tps,rps,平均响应时间与添加rps监听器测试出的结果基本一致

    下面可以来验证一下,线程组的线程数设置为224,其它值可随意,(如,设置定时60s,循环次数设置为100,因为并发数=rps*响应时间 是在平衡状态下得出的结论,所以运行时间不能太短)

    添加监听器Hits per Second,Transactions per Second,Response Times Over Time 查看这些指标是否和上面得出的结果一致(预期应该是满足的)

  • 相关阅读:
    odoo API装饰器one、model、multi的区别
    odoo配置界面设置字段默认值
    redhat_6.5下载地址
    常用在线工具链接
    odoo开发环境搭建(四):python开发工具IDE pycharm配置
    odoo开发环境搭建(三):安装odoo依赖的python包
    odoo开发环境搭建(二):安装Ubuntu 17虚拟机
    odoo开发环境搭建(一):安装VMware Workstation
    火狐浏览器网页截屏插件
    copy代码的时候,如何去掉代码前边的编号
  • 原文地址:https://www.cnblogs.com/hpliud/p/14430157.html
Copyright © 2011-2022 走看看