乐趣区

关于架构:架构师必备系统容量现状checklist

正如飞机在起飞前,机长、副机长要过一遍 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

因而,须要关怀的业务指标如下:

  • 各状态的个数
  • 成功率:胜利终结状态的比例
  • 整个流程的时长
  • 卡在两头态的个数、时长
退出移动版