性能测试基础---分析2

·性能分析:

·对于性能分析,大家需要了解以下信息:
·分析是建立在正确的数据的基础之上的。
·分析是建立在对于被测系统的足够了解的基础之上的。
·分析是有方法、有技巧的。
·分析模型
·分析的原则。


·分析的技巧(原则):
·一般来说,分析、监控、定位这三个操作往往是迭代进行的。
通常来说,分析、监控、定位的层级迭代遵循下列原则:
·从简单到复杂(技术)
·从高效到低效(成本)
按照以上原则,我们一般的做法是:
·从硬件到软件:
·从配置到应用:
·从SQL到代码:


·分析模型:
在业界,性能分析常用的有两个:
·理发师模型:该模型是从队列论的角度来阐述系统性能问题产生的根本原因--等待。

理发师模型设定:
·理发店有10名理发师,理发师和客人是一一对应,理发时间固定为10分钟。
·理发店有空闲位置30个。
·客人的忍耐上限:20分钟。

要求大家计算以下数据:
A、在理发店的客人的最大数量。
B、工作中的理发师的数量。
C、每一名客人的实际理发时间==理发时间+等待时间。


·场景1:每隔2分钟来一名客人。
A、5
B、5
C、10

·场景2:每隔1分钟来一名客人。
A、10
B、10
C、10

·场景3:每隔30s来一名客人。
A、40
B、10
C、
进店时间 客人编号 理发时间
0 1-10 10+0
5 11-20 10+5
10 21-30 10+10
15 31-40 10+15
20 41-50 10+20
25 51-60 10+25(会离开。第51号客人将于第45分钟离开理发店)
30 61-70 10+20
35 71-80 X直接没有位置,被refuse
40 81-90 10+20
45 91-100 10+25(会离开。第91号客人将于第65分钟离开理发店)
50 101-110 10+20
55 111-120 X直接没有位置,被refuse


·场景4:第一次一次性来10名客人,然后每隔1分钟来一名客人。
A、
B、
C、

·负载模型:
负载模型是一个系统的描述:在线用户数、系统tps、事务响应时间三者之间的变动关系的模型。
根据TPS与在线用户数的相对变动趋势,以及响应时间的变动,我们可以将负载过程分为三个区间:
·轻负载区:
·特征:TPS和在线用户数保持正比关系。
响应时间基本维持不变。
一般来说,是后续负载的参考,并不能作为结论使用。

·重负载区:
一般是通过TPS的拐点来划分。
·特征:TPS不再随着在线用户数的增加而增加(增速放慢,开始平稳波动)
随着负载时间的增加(压力增加or压力不变的情况),响应时间持续上升,且上升速度越来越快。

·负载失效区:
一般是通过TPS的拐点来划分。
·特征:TPS与在线用户数成反比关系。
响应时间的增速非常快,而且一般都比较大。
通常会伴随各种异常错误出现,常见的连接错误有:
·connect timeout
·connect refuse
·connect shutdown
TPS的下降一般都是呈现震荡下跌的趋势。


PS:通常来说,在一个负载场景中,拐点是很难鉴定的,我们往往需要通过多个场景进行对比才能找出拐点的真正所在。一般来说,至少需要三个场景分别坐落在三个不同的负载区间,才能进行对比。


·轻负载区和重负载区的拐点,对应的就是系统的最佳性能点。
重负载区和负载失效区的拐点,对应的就是系统的最大在线用户数(最大有效负载)。

一般来说,压力测试就是从重负载区取点进行。
然后在重负载区和负载失效区,我们都是可以对系统进行相应的监控,找出等待的原因(瓶颈),从而进行调优解决。

posted @ 2019-10-23 10:26  沫笙*  阅读(152)  评论(0编辑  收藏  举报