互联网架构,如何进行容量设计?
一,需求缘起 互联网公司,这样的场景是否似曾体会: 场景一:pm要做一个很大的运营勾当,技能老大杀过来,问了两个题目: (1)呆板能抗住么? (2)假如扛不住,必要加几多台呆板? 场景二:体系计划阶段,技能老大杀过来,又问了两个题目: (1)数据库必要分库么? (2)假如必要分库,必要分几个库? 技能上来说,这些都是体系容量预估的题目,容量计划是架构师必备的手艺之一。常见的容量评估包罗数据量、并发量、带宽、CPU/MEM/DISK等,本日分享的内容,就以【并发量】为例,看看怎样答复好这两个题目。 二,容量评估的步调与要领 【步调一:评估总会见量】 怎样知道总会见量?对付一个运营勾当的会见量评估,可能一个体系上线后PV的评估,有什么好的要领? 谜底是:扣问营业方,扣问运营同窗,扣问产物同窗,看对运营勾当可能产物上线后的预期是什么。 举例:58要做一个APP-push的运营勾当,打算在30分钟内完成5000w用户的push推送,估量push动静点击率10%,求push落地页体系的总会见量? 答复:5000w*10% = 500w 【步调二:评估均匀会见量QPS】 怎样知道均匀会见量QPS? 谜底是:有了总量,除以总时刻即可,假如凭证天评估,一天凭证4w秒计较。 举例1:push落地页体系30分钟的总会见量是500w,求均匀会见量QPS 答复:500w/(30*60) = 2778,或许3000QPS 举例2:主站首页预计日均pv 8000w,求均匀会见QPS 答复:一天凭证4w秒算,8000w/4w=2000,或许2000QPS 提问:为什么一天凭证4w秒计较? 答复:一天共24小时*60分钟*60秒=8w秒,一样平常假设全部哀求都产生在白日,以是一样平常来说一天只凭证4w秒评估 【步调三:评估岑岭QPS】 体系容量筹划时,不能只思量均匀QPS,而是要抗住岑岭的QPS,怎样知道岑岭QPS呢? 谜底是:按照营业特征,通过营业会见曲线评估 举例:日均QPS为2000,营业会见趋势图如下图,求峰值QPS预估? 答复:从图中可以看出,峰值QPS或许是均值QPS的2.5倍,日均QPS为2000,于是评估出峰值QPS为5000。 声名:有一些营业譬喻“秒杀营业”较量难画出营业会见趋势图,这类营业的容量评估不在此列。 【步调四:评估体系、单机极限QPS】 怎样评估一个营业,一个处事单性能的极限QPS呢? 谜底是:压力测试 在一个处事上线前,一样平常来说是必要举办压力测试的(许多创业型公司,营业迭代很快的体系也许没有这一步,那就悲剧了),以APP-push运营勾当落地页为例(日均QPS2000,峰值QPS5000),这个体系的架构也许是这样的: 1)会见端是APP 2)运营勾当H5落地页是一个web站点 3)H5落地页由缓存cache、数据库db中的数据拼装而成 通过压力测试发明,web层是瓶颈,tomcat压测单机只能抗住1200的QPS(一样平常来说,1%的流量到数据库,数据库500QPS照旧能轻松抗住的,cache的话QPS能抗住,必要评估cache的带宽,假设不是瓶颈),我们就获得了web单机极限的QPS是1200。一样平常来说,线上体系是不会跑满到极限的,打个8折,单机线上应承跑到QPS1000。 【步调五:按照线上冗余度答复两个题目】 好了,上述步调1-4已经获得了峰值QPS是5000,单机QPS是1000,假设线上陈设了2台处事,就能自信自如的答复技能老大提出的题目了: (1)呆板能抗住么? -> 峰值5000,单机1000,线上2台,扛不住 (2)假如扛不住,必要加几多台呆板? -> 必要特殊3台,提前预留1台更好,给4台更稳 除了并发量的容量预估,数据量、带宽、CPU/MEM/DISK等评估亦可遵循相同的步调。 三,总结 互联网架构计划怎样举办容量评估: 【步调一:评估总会见量】 -> 扣问营业、产物、运营 【步调二:评估均匀会见量QPS】-> 除以时刻,一天算4w秒 【步调三:评估岑岭QPS】 -> 按照营业曲线图来 【步调四:评估体系、单机极限QPS】 -> 压测很重要 【步调五:按照线上冗余度答复两个题目】 -> 预计冗余度与线上冗余度差值
(编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |