标准答案

  1. CPU 升高时看 Top SQL、执行次数、扫描行数、解析或排序开销、上下文切换和是否有突发流量。
  2. 磁盘 I/O 升高时看读写延迟、队列深度、缓存命中、脏页刷新、临时文件与日志刷盘,区分读压力和写压力。
  3. 连接数升高时看活跃、空闲、等待、获取超时和持有时长,并关联应用连接池与请求并发。
  4. 锁等待升高时看最长事务、阻塞者、锁类型、访问索引范围和是否有 DDL 或批处理。
  5. 指标应按库、表、租户、实例和版本维度细分,避免平均值掩盖单个热点分片。

题目解析

CPU 100% 可能是高效地处理了预期流量,也可能是一个错误计划扫描海量数据;连接数很高可能是短连接风暴,也可能是长事务堆积。指标告诉你“哪里异常”,SQL 与等待事件才解释“为什么”。

排障时先保护系统:限流低优先级流量、暂停风险任务、隔离热点租户,再收集证据。直接重启数据库常会清掉现场并把积压请求集中打回。

常见误区

  • 只看平均 CPU 或平均响应时间,忽略 P99、单节点和单租户热点。
  • 遇到锁等待先杀所有连接,导致正在提交或修复的数据操作半途失败。

作者信息