正如飞机在起飞前,机长、副机长要过一遍checklist查看,确认没问题了能力腾飞。楼主也整顿了一个零碎容量现状checklist,不便对照检查。本文搭配架构师必备:如何做容量预估和调优,食用更佳。
作为架构师,不要感觉零碎容量是运维工程师才关怀的问题,而该当对系统容量现状做到一目了然。这样能力晓得零碎的瓶颈在哪,哪些优化是要优先做的,以及为了应答流动期间突发的流量,做多少扩容。
本文分为2大部分,一是资源使用率,二是业务指标。
资源使用率
服务实例
- 实例个数、每个实例server的工作线程个数、MQ生产组线程个数
- QPS峰值
- 接口响应工夫:均匀、95分位、99分位、最大值
- CPU使用率峰值
- 报错数量/秒
- JVM堆内存使用率峰值
- GC回收工夫
- 磁盘使用率(如有,个别无本地存储)
MySQL
- 分库数量、分表数量、从库个数、路由规定
- QPS峰值、TPS峰值、读写比例
- CPU使用率峰值
- 磁盘使用率
- 有无热点、数据歪斜
- 行总数
- 主从复制/同步提早ms
- 慢查问数量/秒
- 长事务数量/秒
Redis
- 实例个数、集群形式
- QPS峰值、TPS峰值、读写比例
- CPU使用率峰值
- 内存使用率峰值
- key总数
- 有无热点实例、有无热点key
HBase
- 实例个数、region个数
- CPU使用率峰值
- 磁盘使用率
- 行总数
- compaction时间段
- 有无热点实例、有无数据歪斜
ElasticSearch
- 实例个数、分片shard个数、路由规定
- 文档document个数
- CPU使用率峰值
- 磁盘使用率
- 有无热点实例、有无数据歪斜
音讯队列
- 实例个数、分片partition个数
- 音讯TPS峰值
- 生产沉积数量
- CPU使用率峰值
- 音讯保留时长
业务指标
外围流程的业务指标
每个零碎都不一样,须要依据理论状况定义业务指标。如:
- xxx成功率
- xxx失败率
- xxx个数、次数
- xxx时长
- xxx参加人数
- xxx金额
状态机流转状况
如图所示,示例的状态机流转状况如下:
- 流转方向:只能从1流向2,不能从2流向1
- 前置状态:只能从2或3流向4,不能从1流向4
- 两头态停留时长:2、3、4是中间状态,不该当长时间停留,否则认为是卡住了
- 终结状态:5(胜利)和6(失败)是终结终态,最终都会变成5或6
因而,须要关怀的业务指标如下:
- 各状态的个数
- 成功率:胜利终结状态的比例
- 整个流程的时长
- 卡在两头态的个数、时长