作为开发/架构,经常会被问到这样的问题:
“这个产品(功能)上线后,预计会有大量的用户进来,你们系统能不能扛得住”;
“马上就要到业务节点了,你们系统用不用加一些资源”;
这些问题都涉及到了流量评估和容量设计,我分享一下我经常用的一些方法,当然项目的流量和互联网公司没法比,大家也别见笑。
也就是PV,如果是网页的话,打开一次网页,这个网站的PV就增加了一次,如果是接口的话,就是接口的访问次数。
访问总量的预估,可以问业务/产品/运营的伙伴,这个产品(功能)上线后的预期是多少,或者用以往产品(功能)上线后的访问量作参考,做一个预估。
比如我之前参与过的项目,每天要给过生日的用户发送生日祝福短信,那么就可以大概评估出每天这个功能的总量大约是:总客户数量/365。
(图为10%的数据采样,相当于每天大约160万的访问量)
TPS:是指每秒内的事务数,如果执行了DML操作,那么相应的TPS会增加;
QPS:是指每秒内查询次数,如果执行了select操作,相应的QPS会增加。
在做流量评估和容量设计的时候,不能只考虑平均QPS,一定要考虑高峰的QPS,我们系统的容量,一定要能抗住高峰的QPS。
如果每天80%的访问集中在30%的时间里,这30%时间叫做峰值时间;那么高峰期的访问量=(总访问量*80%)/(每天秒数*30%);
例如我们系统的访问量,主要集中在9:30-11:30和13:30-17:30期间,大约有6个小时。
通过压力测试,评估出一台服务单机能的极限QPS,比如单台服务器QPS极限是500;
生产环境中预估高峰期间的访问量是3000,那么至少需要6台服务器,当然当台机器极限是500,我们可以按照400进行预估,那么就需要8台机器,当然为了保险期间,部署10台是比较保险的(有一定的冗余度)。
页面更新:2024-03-31
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号