云数据库 GAUSSDB(FOR MYSQL)-CPU使用率高问题排查与优化:原因分析

时间:2024-09-11 14:20:03

原因分析

  1. 查看CPU使用率监控指标,发现在16:08分左右实例的CPU使用率开始飙升到100%,且一直持续在高位线。
    图1 CPU使用率
  2. 查看QPS、慢SQL数以及活跃连接数监控指标,发现在16:08分左右QPS突增,活跃连接数上涨,最终业务侧有较多的慢SQL产生。
    图2 QPS
    图3 活跃连接数
    图4 慢SQL数
  3. 分析业务类型,查看16:08分前左右InnoDB的逻辑读速率有突增,且与慢SQL的速率趋势相似。
    图5 InnoDB逻辑读速率
  4. 登录实例,查看实话会话,发现大量会话在执行SELECT COUNT(*)

    EXPLAIN确认该SQL的执行计划,发现走全表扫描且单条扫描行数在35万+,其并未走索引。

  5. 进一步查看该表的表结构,发现该表仅对字段“is_deleted”添加了一个索引“IDX_XX_USERID”,因此上述查询无索引可选。建议业务侧给字段“idx_user_id”新增索引后,实例在16:37分左右CPU下降到正常水平,业务恢复。
support.huaweicloud.com/trouble-gaussdbformysql/gaussdbformysql_trouble_0600.html