随着业务的增长,日流量从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:压力测试。
- 依据线上冗余的做决定:计算需要和线上冗余度差值。