随着业务的增长,日流量从 10w 级别,增涨到 100w 级别,这时候就须要进行容量预估。
什么样的场景须要进行容量预估呢?
- 容量有量变性增长
- 长期经营流动
- 新零碎上线
场景一:
pm 要做双十一流动,技术老大杀过来,问了两个问题:
- 机器能扛得住吗?
- 扛不住,须要加多少台机器?
那些指标须要进行容量预估?
看具体的业务,对应到零碎侧的主要矛盾是什么,例如:
- 数据量
- 并发量、吞吐量
- 宽带
- cpu/mem/DISK 等
向微博帖子等是数据量为只有矛盾,12306 的抢票业务就是并发量为只有矛盾,音视频、直播业务宽带为只有矛盾,数据计算、区块连等是 CPU 为只有矛盾。
如何进行容量预估?
第一步:评估总访问量。
答:询问产品和经营同学流动的用户量,预计有用户会来点击?例子:某公司要做一个 APP-push 的经营流动:1. 打算在 30 分钟内实现 5000w 用户的 push 推送
2. 预计 push 音讯点击率 10%
push 落地页零碎的总访问量?
答:5000w*10%=500w
第二步:评估均匀吞吐量(QPS)
答: 咱们假如所有的申请都产生在白天。例子一:push 落地页 30 分钟的总访问量是 500w,均匀 QPS 是多少?答:500w/(30*60) = 2778, 大略 3000QPS.
例子二:某网站首页日均 PV 约 8000w, 均匀 QPS 是多少?答:一天按 4w 秒算,8000w/4w=2000, 大略 2000QPS。
第三步:评估峰值吞吐量 QPS。(咱们要抗住的是峰值 QPS)
答:绘制业务趋势拜访图。依据拜访图来计算峰值 QPS。如果没有趋势拜访图,咱们就依据二八准则,假如 80% 的申请拜访在 20% 的工夫上。然而像秒杀业务这类不能这样计算。依据计算失去峰值 QPS 为 5000QPS.
第四步:评估零碎、单机极限 QPS;
答:压力测试,计算出一台机器的 QPS,记住磁盘,内存,io,宽带都不应该是零碎的瓶颈。假如压力测试失去,单台机器极限是 1200,因为不会跑满个别为 80%,也就是单台机器抗 1000。
第五步:依据线上冗余的做决定。
答:比方线上机器有 2 台,峰值 5000,单机 1000,两台扛不住。在加 3 台,4 台更稳。~~~~
论断:
互联网架构设计如何进行容量评估呢(以吞吐量为例)?
- 评估总访问量:询问产品和经营
- 评估均匀吞吐量:总量除以总工夫,一天算 4w 秒。
- 评估峰值吞吐量 QPS: 依据业务曲线图,或者二八准则。
- 评估零碎、单机极限 QPS:压力测试。
- 依据线上冗余的做决定:计算需要和线上冗余度差值。