如何对系统或服务(WAR)进行容量规划?
容量规划:
根据业务量指标分解(包括:TPS、促销期间的存储数据量),结合系统压测结果,来判断系统的计算资源(包括:nginx,jboss) 和 存储资源(包括:redis、数据库)是否足够支撑?如果不能支撑,那么需要扩容。
扩容 :
集群横向扩容,包括:Nginx、JBOSS 或者数据分片后的 MYSQL,Redis等。
单机纵向扩容,包括:所有的计算资源和存储资源。
业务量指标分解:
必须知道系统的上下文关系,每个业务功能的依赖关系。 根据二八原则,80%的流量来源于20%功能。梳理出来核心功能。
例如:
系统压测:
单台单接口压测:APP 性能极限,性能调优
单台组合压测:APP 性能极限,性能调优
集群单接口压测:集群单接口极限
集群组合压测: 数据库性能极限,集群性能极限,用于生产容量评估的最重要的标准。
需要根据生产环境下每个接口流量比例进行模拟压测,或者直接生产压测。
压测注意事项:
•铺底数据
•分支场景
•执行复杂度
容量判断:
计算资源的判断,主要业务流量指标 与 系统压测指标对比
存储资源的判断:那么要根据业务场景的数据产出数据量进行评估。类似于计算资源。