软件系统的扩展性,线性的增加资源可以线性地增加可处理的工作
throwing money at the problem:
花钱解决问题,在这里花钱是指增加硬件资源,解决工作变多的问题。
系统没有扩展性,表示加再多的硬件也无法提供系统的产能
性能和可扩展性的区别:
- 系统不能满足单个用户的请求,就是性能问题
- 系统能满足单个用户的请求,但随着用户数量的增加而出问题,就是可扩展性问题
增加系统可扩展性有多种方法,下面一一聊到:
不同的算法在时间、空间有不同的复杂度,有些算法会更加平滑, 本章会介绍如何分析算法的复杂度,如何判断稳定性,以及分布式算法的介绍
在输入一定的情况下,算法执行时间和占用的内存大小称时间/空间复杂度
a+b:
时间复杂度是T(n)=c*n,c是一次相加时间,n是输入的次数,
相加的次数越多,要的时间也成比例增长