正如飞机在起飞前,机长、副机长要过一遍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
因此,需要关心的业务指标如下:
-
各状态的个数 -
成功率:成功终结状态的比例 -
整个流程的时长 -
卡在中间态的个数、时长
原文始发于微信公众号(Java烘焙师):架构师必备:系统容量现状checklist
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/27382.html