• 解析jmeter阶梯加压与请求的计算


    用百度做例子

    我们设置阶梯加压线程组的请求参数,如下图

    上图表示

    1:每隔2秒钟,会在1秒内启动5个线程

    2:每次线程加载之后都会运行2s然后开始下一次线程加载

    3:最终会加载50个线程并持续运行30s

    4:50个线程持续运行30s后,会每隔2秒钟停止5个线程,剩余的线程继续负载。一直到所有线程完全停止

     阶梯加压阶段过程:

    如果该请求的平均响应时间是100ms,那么一秒内就可以迭代10

    那么,这1秒内我如果启动了5个线程,那么这1s内发出的请求数就是5*10=50次

    接着,它运行了2s钟才开始加载下一波线程。在这2秒之内,它发出的请求数是2*5*10=100次

    在2s之后,线程组又在1s内启动了5个请求,并运行了2s。那么在这2s内,它发出的请求是2*10*10=200次(此时是10个线程在运行)

    以此类推,一直到50个线程加载完之前,我们的线程组释放的请求数是这样的

    (2*5*10)+(2*10*10)+(2*15*10)+(2*20*10)+(2*25*10)+....+(2*45*10)=4500次

    持续负载阶段:

    注意:为什么最后不是2*50*10呢?因为从50个线程加载完之后,我们进行的是30s的持续负载!!

    这30s内,我们的总的请求数是30*50*10=15000

    线程释放阶段:

    在30s负载结束之后,我们的线程组开始阶梯式释放

    此时,即使是线程组在释放,那么剩余的线程依然在发起请求

    (2*45*10)+(2*40*10)+(2*35*10)+(2*30*10)+(2*25*10)+....+(2*5*10)=4500次

    总的请求数=4500+15000+4500=24000次

    其实这样计算也是不准确的,因为随着我们的负载越来越大,服务器资源的消耗也越来越大,请求的响应时间也会越来越长

    响应时间越来越长,那么相应的每秒迭代次数就会变少。我们这里的响应时间仅仅取了个平均值,真实的数据肯定会有误差

    @转自网络,侵权联系删除

  • 相关阅读:
    [转载]VC补遗之Profile篇
    [原创]百度之星2009初赛第二场第四题解答
    [总结]QT在CODE:BLOCKS中的配置
    [原创]自己写的一个简单的程序日志记录类
    [原创]QT动态加载UI文件注意事项
    window版本信息资源格式
    [原创]滚动条滚动范围的问题总结
    ofstream奇怪问题解决方法
    [转载]最小矩形(rec1)的解题报告
    oracle数据库用户之间授权
  • 原文地址:https://www.cnblogs.com/mumulog/p/11599897.html
Copyright © 2020-2023  润新知