架构师训练营感想第 7 周

用户头像
tuuezzy
关注
发布于: 2020 年 07 月 22 日

作业一:

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

随并发压力的增加,系统响应时间不断增长,吞吐量起初不断增长,增长到一定程度之后会持续下降。

首先要理解吞吐量QPS(TPS)= 并发数/平均响应时间,并发压力增加就是系统的并发数增多,

响应时间:并发数从0到某个值C1时,系统能够快速返回请求和查询结果,呈现较好的并发数上升, 响应时间不变或小幅增长的情况,此时并发数增长加速度大于平均响应时间加速度,或者说两个函数的导数相比,并发数函数导数为正且更大。

并发数从C1到C2时,系统无法持续提供较短响应时间,响应时间持续上升且加速度变大,CPU、内存、硬盘以及操作系统软件和应用软件不能快速返回结果,此时并发数增长加速度从大于平均响应时间加速度到等于、小于平均响应时间加速度,吞吐量达到峰值后下降

并发数大于C2时,系统性能急剧恶化,资源严重不足甚至耗尽,响应时间大幅上升,因此并发数增长加速度一直小于平均响应时间加速度,导致吞吐量持续下降

在本次课程中,将区间[0,C1]作为性能测试区间,[C1,C2]作为负载测试区间,[C2,+∞]作为压力测试区间。



=====

本次课程除了讲到性能指标、提高性能的一些技术手段,还讲到了很多基础知识和深度知识。觉得知识储备有点不太够听懂了。除了计算机相关的操作系统、数据结构基础课程,还有CAS原语这类一般很少接触到的东西。CAS是可以替代软件的锁的一种硬件同步原语。

你不能优化你不了解的软件。而优化除了程序的优化,也可以优化用户体验,这也很重要。有时用户体验的优化带来的效益会更加显性化。

拿个实例来说说,什么是可以做的优化,什么样的操作不是优化。

有一次开会,我使用了自己公司出品的一款即时通信软件,发会议通知。这个软件我们简称叫AX吧,可以触发短信的下发。结果发出会议通知后10分钟,系统提示我,发送失败。只好给还没到的人打电话。

这就很奇怪,10分钟才告诉用户无法发出信息,早干什么去了?

后来得知,这款神奇的软件,逻辑是这样的:客户端会先发出发短信的请求,如果本地连接不通或者遇到后台服务器无法响应,客户端不会告知用户,而是5分钟之后重试,5分钟如果仍然发不出去,10分钟再试一次,再发不出去,再告诉用户无法发出。

产品经理还跟我说:这个是我们按照领导的说法,不能轻易提示用户,无法发出信息,优化后的结果。这到底是优化了,还是劣化了,就不知道了。

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

tuuezzy

关注

还未添加个人签名 2017.10.17 加入

还未添加个人简介

评论 (1 条评论)

发布
用户头像
请加“极客大学架构师训练营”标签,便于分类
2020 年 07 月 22 日 18:17
回复
没有更多了
架构师训练营感想第7周