MySQL

CPU紧张或者吃满

一、报警内容

[MYSQL CPU使用率过高]

二、可能影响

  1. 产生读写延迟,慢日志增多,查询返回慢
  2. 主从延时
  3. 无法新建连接

    三、问题定位

  4. 问题1:user% 很高,通常是慢查询日志引起的,可以提单,获取实例的慢查询日志。
  5. 问题2:io wait% 很高,可能是批量读写数据引起的,需要登录到 MySQL 查看具体的语句。
  6. 问题3:sys% 很高,一般是并发的线程数太多引起的。

    四、处理方式

  7. 问题1:获取到慢查询日志之后,针对优化SQL,如建索引等;
  8. 问题2:如果存在大量的 Select 语句:可临时调高 innodb_buffer_pool_size 或者是更换套餐;如果存在大量的 DML 语句:可以临时调整事务提交策略,由于该操作会影响同步的数据一致性,需要提单处理;
  9. 问题3:建议提单升级规格套餐;

内存使用率过高

一、报警内容

[MYSQL 内存使用率过高]

二、可能影响

  1. 内存溢出(OOM),实例自动重启;
  2. SQL 执行效率下降

    三、问题定位

  3. 在申请使用初期,因为数据迁移等原因而发生大规模数据导入
  4. 通常表现为连接数较高且有较大量的并发查询,业务使用耗费资源的复杂 SQL 语句(如多表 JOIN + ORDER BY / GROUP BY 、存在子查询)等

    四、处理方式

  5. 若发放的实例还未升级规格,建议提单升级规格套餐;
  6. 停服维护时,提单调整innodb_buffer_pool_size的值或重启数据库实例;

磁盘空间使用率过高

一、报警内容

[MYSQL 磁盘空间不足]

二、可能影响

  1. 磁盘爆满,数据库无法服务

    三、问题定位

  2. 查看监控

    四、处理方式

  3. 若发放的实例还未升级规格,建议提单升级规格套餐;
  4. 停服维护时,清理无用的数据;

连接数过多

一、报警内容

[MYSQL 连接数过多]

二、可能影响

  1. 新建连接无法连上数据库,程序报错
  2. 连接数过多可能会导致占用大量的内存,导致内存报警甚至 OOM 的发生

    三、问题定位

  3. 提单反馈问题

    四、处理方式

  4. 提单调整最大连接数,同时排查连接数是否突增,及原因;
  5. 若已提单调高连接数无法解决,建议提单升级规格套餐,规格较小的实例无法承受更高的连接;

results matching ""

    No results matching ""