知识卡片
用峰值倍数预留性能余量的实战方法
内容
判断系统是否需要”高性能”,不能看日/月总量,要换算成秒级TPS/QPS,因为决定架构复杂度的是瞬时处理能力。算法:全天平均值乘峰值系数(约3倍体现波峰波谷),再乘未来增长余量系数(如4倍)得设计目标。余量系数按实际增长定,但一般不超过10倍,不能一上来按100倍设计——过度预留同样是为不确定需求支付真实复杂度,这与[[可扩展性设计的核心悖论]]是同一问题的不同表现。
参考来源
- 位置:《从0开始学架构》第12章《10|架构设计流程:识别复杂度》消息队列案例(源文件:_epub-src/OEBPS/Text/part0011_split_003.html)
- 结论依据:原文给出完整计算过程"关注的不是一天的数据,而是1秒的数据,即TPS和QPS……峰值一般取平均值的3倍……将设计目标设定为峰值的4倍……不同的业务可以是2倍,也可以是8倍,但一般不要设定在10倍以上,更不要一上来就按照100倍预估"。
- 原始内容:架构师来说,关注的不是一天的数据,而是1秒的数据,即TPS和QPS……峰值一般取平均值的3倍……我们将设计目标设定为峰值的4倍……不同的业务可以是2倍,也可以是8倍,但一般不要设定在10倍以上,更不要一上来就按照100倍预估。