一、整体概念
何为设计容量,从技术上说就是运用一些策略对系统容量进行预估的过程。容量设计是架构师必备的技能之一。
他要求我们分析系统设计容量要求,尽可能给出具体数据描述的:数据量、并发量、带宽、注册用户规模、活跃用户规模、在线用户规模、消息长度,图片大小、网盘空间容量,内存CPU容量等。
下面的内容,我们以 并发 为例子,看看看具体的分析过程。
二、预备知识
- TPS(Transactions Per Second):每秒事务数
- QPS(Query Per Second):每秒请求数,QPS其实是衡量吞吐量的一个常用指标,就是说服务器在一秒的时间内处理了多少个请求。
- 并发数:并发数是指系统同时能处理的请求数量,这个也是反应了系统的负载能力。
- 吞吐量:吞吐量是指系统在单位时间内处理请求的数量
- 响应时间(RT):响应时间是指系统对请求作出响应的时间,一般取平均响应时间
- QPS(TPS)= 并发数 / 平均响应时间
- 峰值QPS计算: 每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间,公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)
- PV(Page View):页面访问量,即页面浏览量或点击量,用户每次刷新即被计算一次
- UV(Unique Visitor):独立访客,统计1天内访问某站点的用户数(以cookie为依据)
三、评估过程
1、临时的流量变化:比如 618、双11,新年大促搞活动等场景,预估我们的流量会大涨,甚至到原来的数倍。这时候要做好应对的措施。
2、初始系统容量评估:假设我们开发了某个系统,这个系统初始上线,我们预估他的容量和负载会是多少。
3、容量基数的变化:比如某个系统,他的功能模块越来越多,数据流量越来越大,日活指数越来越高,迎来了第二波的增长曲线。我们原来定好的系统容量渐渐的不满足我们的需求,这时候我们也要重新评估和扩容。
系统设计容量评估的步骤:
1、分析日总访问量:产品、运营的评估和线上数据的收集
2、评估日平均访问量QPS:评估活动时间内的平均QPS
3、评估高峰区间的QPS:流量曲线计算 或 28 法则估算
4、性能压力测试:评估实例能够承受的极限吞吐量
5、根据线上冗余度,与实际的差值进行调整,评估出能承载容量的实际结果值
浙公网安备 33010602011771号