性能测试分析模型

 

理发师模型

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

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

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

负载模型

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

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

 

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

  • 轻负载区:特征

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

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

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

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

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

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

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

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

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

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

    • 会出现各种网络报错。

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

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

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

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

负载模型的意义

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

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

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

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

原文地址:https://www.cnblogs.com/yjh1995/p/13514796.html