架构师训练营感想第 7 周
作业一:
性能压测的时候,随着并发压力的增加,系统响应时间和吞吐量如何变化,为什么?
随并发压力的增加,系统响应时间不断增长,吞吐量起初不断增长,增长到一定程度之后会持续下降。
首先要理解吞吐量QPS(TPS)= 并发数/平均响应时间,并发压力增加就是系统的并发数增多,
响应时间:并发数从0到某个值C1时,系统能够快速返回请求和查询结果,呈现较好的并发数上升, 响应时间不变或小幅增长的情况,此时并发数增长加速度大于平均响应时间加速度,或者说两个函数的导数相比,并发数函数导数为正且更大。
并发数从C1到C2时,系统无法持续提供较短响应时间,响应时间持续上升且加速度变大,CPU、内存、硬盘以及操作系统软件和应用软件不能快速返回结果,此时并发数增长加速度从大于平均响应时间加速度到等于、小于平均响应时间加速度,吞吐量达到峰值后下降。
并发数大于C2时,系统性能急剧恶化,资源严重不足甚至耗尽,响应时间大幅上升,因此并发数增长加速度一直小于平均响应时间加速度,导致吞吐量持续下降。
在本次课程中,将区间[0,C1]作为性能测试区间,[C1,C2]作为负载测试区间,[C2,+∞]作为压力测试区间。
=====
本次课程除了讲到性能指标、提高性能的一些技术手段,还讲到了很多基础知识和深度知识。觉得知识储备有点不太够听懂了。除了计算机相关的操作系统、数据结构基础课程,还有CAS原语这类一般很少接触到的东西。CAS是可以替代软件的锁的一种硬件同步原语。
你不能优化你不了解的软件。而优化除了程序的优化,也可以优化用户体验,这也很重要。有时用户体验的优化带来的效益会更加显性化。
拿个实例来说说,什么是可以做的优化,什么样的操作不是优化。
有一次开会,我使用了自己公司出品的一款即时通信软件,发会议通知。这个软件我们简称叫AX吧,可以触发短信的下发。结果发出会议通知后10分钟,系统提示我,发送失败。只好给还没到的人打电话。
这就很奇怪,10分钟才告诉用户无法发出信息,早干什么去了?
后来得知,这款神奇的软件,逻辑是这样的:客户端会先发出发短信的请求,如果本地连接不通或者遇到后台服务器无法响应,客户端不会告知用户,而是5分钟之后重试,5分钟如果仍然发不出去,10分钟再试一次,再发不出去,再告诉用户无法发出。
产品经理还跟我说:这个是我们按照领导的说法,不能轻易提示用户,无法发出信息,优化后的结果。这到底是优化了,还是劣化了,就不知道了。
版权声明: 本文为 InfoQ 作者【tuuezzy】的原创文章。
原文链接:【http://xie.infoq.cn/article/6f5762d0ed97ec4f73573ece2】。文章转载请联系作者。
评论 (1 条评论)