zoukankan      html  css  js  c++  java
  • Jmeter性能测试-jp@gc

    本文参考了:https://www.cnblogs.com/yagao/p/12614175.html

     

    Throughput Shaping Timer 是用来控制吞吐量的定时器,通过延缓线程运行来整体控制取样器产生的RPS。

    实际使用中:

    1. 可以通过设置在不同吞吐量分别持续一段时间,考察系统在不同吞吐量情况下的稳定性

    2. 可以通过设置随着时间持续增加的吞吐量,来探测系统吞吐量的的极限

     

    举个例子:

    1. 首先,创建一个线程组,这里我把线程数暂且设置为200,循环勾选为永远。在文章末尾解释为什么这样设置

     

     2. 在线程组内增加一个HTTP请求,这里以百度举个例子

     

     3. 加入Throughput Shaping Timer 定时器,设置起始终止RPS和持续时间,这里我采用了持续增加的方式。 

     

     4. 加入一个TPS监听器并执行测试看看效果,如下图所示: 随着时间的增加RPS逐步提升,实际的TPS也随之线性增长,说明目前还没有到服务器的极限

     

    注意:

     End RPS 设置了RPS 上限,但要达到此值是需要线程(虚拟用户〉来执行的,所以我们先要预设够多的线程,不然RPS目标没法达到,JMeter 线程组在运行过程中是不会自动增加线程数的,只能一次性设置。下面有个计算线程数的公式。

    比如一个请求响应时间为2秒,END RPS 为30,那么线程数:2*30=60  即:响应时间*RPS=所需线程数)。即大约要60个线程, 考虑到运行时诸多影响因素(线程数增加后响应时间增加了), 我们还需要预备更多的线程,也许我们加到70个线程才能满足要求,这只是一个估算值。不用担心线程数太多时RPS 会超End RPS, 此元件会自动延迟线程的运行来稳定RPS。

    另外,线程组设置的循环是永远,但是因为有定时器的存在,脚本并不会停不下来,而是在定时器的时间结束后,脚本就会停止运行。

     

    联系我:ryan255@163.com
    github:https://github.com/ryan255
  • 相关阅读:
    第9天 图片整合
    第六天 元素类型
    第五天 文本溢出
    第四天 盒子模型
    第三天 css核心属性
    第二天 css基础 ,部分选择符
    第一天 HTML基础
    *Move Zeroes
    Word Pattern
    ReentrantLock
  • 原文地址:https://www.cnblogs.com/ryan255/p/14406789.html
Copyright © 2011-2022 走看看