架构师训练营 week07 作业

用户头像
GunShotPanda
关注
发布于: 2020 年 07 月 23 日
架构师训练营week07 作业

性能压测的时候,随着并发压力的增加,系统响应时间和吞吐量如何变化,为什么?

一.名词解释

吞吐量是只系统内单位时间内能接受的请求量

响应时长 是系统处理单个请求需要的时长

二.名词分析

影响吞吐量的因素有哪些?

吞吐量首先和系统的资源限制有关,并且由系统种短板资源决定。从网络资源到请求处理的线程资源,到db链接资源 都影响着一个系统的吞吐量(当然可以通过请求队列来扩充单个资源的影响,下层资源只要保证在超时时间结束之前返回就可以)

影响响应时长的因素有哪些?

最长的同步调用链条

三.两者关系

吞吐量和响应时长在优化层面上是互斥的,响应最长的时长 = 单个调用的允许的超时时间总和

响应时间越长,对于某一层调用来说就是允许的超时时间越长,对于一定处理速度和资源数量的 请求处理系统来说,就是所能容忍的请求等待队列就越大,那么所支持的吞吐量就越大。

队列长度/(处理单个请求需要的时间 * 资源数量) = 超时时长

四.反模式

响应时长超过超时时长反模式

上层层调用下层服务超时时可以选择重试机制,反复超时反复重试就会导致下层应用需要处理的请求量不断的递增,最后雪崩。

最常见的场景就是用户刷新一个页面,超过容忍时间后还没有显示出来,用户就会选择刷新



盗别人的图来说明哈



一,下面这图,其实是反映了,吞吐量,响应时间,用户数的关系:

第一条红线是最佳用户数, 

第二条红线是最大用户数。





随着用户数的增加, 吞吐量在某时刻开始下降。 系统的负载已经达到最大利用率。 







很多时候我们都需要画次图来分析结果。 



发布于: 2020 年 07 月 23 日 阅读数: 3
用户头像

GunShotPanda

关注

JAVA开发 2019.09.03 加入

This is a letter for myself, for my future, for the past, for the better man of (health) Just got to do you and nobody else

评论

发布
暂无评论
架构师训练营week07 作业