zoukankan      html  css  js  c++  java
  • 性能测试分析模型

     

    理发师模型

    从队列论的角度来解释和描述负载测试过程中,系统是如何处理请求的。

    • 理发师模型:核心原则就是队列论,即任何事情都需要排队等待。

      • 计算机从最底层就是按照队列思想来设计的,比如说CPU时间片轮转机制。 理发师模型就是形象具体的来演示系统处理请求的过程。

    负载模型

    从负载用户、TPS和响应时间的变化过程中,描述系统在不同负载情况下的表现和变化。

    负载模型是一个系统的描述:负载用户数、TPS和事务响应时间三者之间的变化趋势的一个模型。是我们进行负载测试的指导性模型

     

    按照负载用户数和TPS的相对变化,我们可以将负载模型分为三个区间:

    • 轻负载区:特征

      • TPS和负载用户数成正比。

      • 事务响应时间基本维持不变。

      表示系统处于较轻的负载情况,通常来说,此时我们需要继续加大负载进行测试。

    • 重负载区:以TPS的第一个拐点作为标志。特征:

      • 随着负载用户增加,TPS不再增加。

      • 事务响应时间开始慢慢的增加,并且增加的速度越来越快。

      表示系统已经到达或者超过系统的最大处理能力的状态。 重负载区维持的时间的长短和系统的稳定性是有关。一般来说,系统越稳定,在重负载区停留的时间越长。

    • 负载失效区:以TPS的第二个拐点作为标志。特征:

      • 随着负载用户增加或者维持不变,TPS反而出现下降的趋势。

      • 响应时间出现显著的增加。

      • 会出现各种网络报错。

        • connect timeout 来者不拒,这样的服务器最容易出问题。

        • connect refuse 有计划的阻止,这样的服务器相对稳定。

        • connect shutdown 有计划的关闭,这样的服务器介于以上两者之间。

      表示系统已经过载,此时继续加大负载,对于测试结果是没有任何实际的影响的。 TPS的下降一般是呈现震荡下跌的趋势,而不是坠崖式

    负载模型的意义

    • 负载模型是用来指导我们进行负载测试的。

    • 负载测试要求在三个区间都有测试场景存在。

    • 系统的最大TPS就是在重负载区出现。

    • 系统的最大有效负载用户数,是以负载失效区的拐点为准,通常以报错+TPS下降作为标志。

  • 相关阅读:
    神仙题1.0
    一些小技巧(持续更新。。)
    模板(持续更新中。。)
    「CTS2019 | CTSC2019」氪金手游(容斥+概率计数)
    Emacs配置
    AGC034E Complete Compres(dp)
    「清华集训 2017」榕树之心(换根dp)
    [NOI2018]冒泡排序 (卡特兰数)
    「清华集训 2017」小 Y 和二叉树 (贪心)
    「雅礼集训 2018 Day1」图 (dp套dp)
  • 原文地址:https://www.cnblogs.com/yjh1995/p/13514796.html
Copyright © 2011-2022 走看看