TPS、响应时间与资源使用率之间关系(二)

x33g5p2x  于10个月前 转载在 其他  
字(0.6k)|赞(0)|评价(0)|浏览(71)

1.首先我们来分析下方曲线图

三条曲线:紫色(吞吐量),绿色(资源利用率/用户数),蓝色(响应时间)

三段区域:轻负载区,重负载区,坍塌区

两个点:最优并发用户数,最大并发用户数

三个状态:资源饱和,吞吐下降,用户受影响

轻负载区:随着并发用户数增加,响应时间开始是趋于稳定状态,吞吐量在上升

重负载区:随着并发用户数在不断上升,响应时间增加(这时已经开始出现瓶颈),吞吐量达到最大后下降

坍塌区:并发用户数在仍在不断上升,响应时间飙升,吞吐量开始下降

注:上图与实际场景存在一定误差,实际场景更多如下方第2条介绍

2.当服务器CPU资源使用率达到100%时,随着 压力的增加,队列慢慢变长,但由于用户数增加的幅度会超过队列长度,因此这时TPS还会呈上升趋势,也就是说资源使用率达到饱和后还有一段TPS会上升,最终才达到上限。

大部分情况,响应时间并不一定在坍塌区突然上升,更可能在负载区突然上升。

下图所示,更符合实际场景:

蓝色曲线:TPS

黄色曲线:响应时间

在TPS增加的过程中,响应时间一开始会处于较低状态,也就是A点前。

接着响应时间开始有些增加,直到业务可以承受的点B,这时TPS仍有增长空间。

再接着加压达到C点,TPS达到最大。

再加压,响应时间接着增加,但TPS会下降(注:这种情况不是必然,有些系统在队列上处理的很好,会保持稳定的TPS,多出来的请求会被友好拒绝)

最后再加压,响应时间过长达到超时程度

3.TPS计算公式

TPS=(1000ms/响应时间(单位ms))/*压力机线程数

相关文章