写点什么

架构师训练营 -- 第七周作业

发布于: 2020 年 07 月 19 日
架构师训练营--第七周作业

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

并发压力

指系统能够同时处理请求的数目。对于网站而言,并发数即网站并发用户数,指同时提交请求的用户数目。

系统响应时间

指应用执行一个操作所需的时间,包括从发出请求开始到最后收到响应所需要的时间。

吞吐量

指单位时间内系统处理的请求数,体现系统的整体处理能力。对于网站,可以用 “请求数/秒” 来衡量。TPS(每秒事务数)是吞吐量的一个常用量化指标,此外还有HPS(每秒HTTP请求数)、QPS(每秒查询数)等。



概念了解清楚以后,回答上述问题:

在系统资源承受范围之内,吞吐量随系统的并发用户数的增加呈现增加趋势,也就是说你客户端来多少请求数系统吃(处理)多少请求数,对应的响应时间没有多大的变化波动;当超出系统资源承受范围时有两种情况,

A:一种是系统只能处理这么多,吞吐量趋近于一个定值,多余的请求拒绝掉(类似令牌桶或者限流算法处理),此时的响应时间也可以看成是一个定值,无多大波动;

B:还有一种情况是来者不拒,来啥接啥,最后导致系统吞吐量下降甚至系统崩溃,因为系统会为对应的请求都开辟单独的线程处理,当cpu资源大量用于处理线程上下文切换的时候,对应的线程业务处理都是wait状态,responseTime增加。



为什么会这样

有一个基本的三者的关系公式:QPS(TPS)=并发数/平均响应时间;简而言之就是一个系统吞吐量通常有QPS(TPS),并发数两个因素决定,每套系统这个两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换,内存等等其他消耗导致系统处理性能下降,响应时间增加。



用户头像

小小老鼠小小老鼠不偷米大脸猫大脸猫爱吃鱼 2018.05.03 加入

一个默默无闻的码农大叔。。。。

评论

发布
暂无评论
架构师训练营--第七周作业