数据库慢查询激增

关键资料

感谢云厂商运维们

常见问题_云数据库 RDS(RDS)-阿里云帮助中心

RDS for MySQL_云数据库 RDS_华为云

如何解决 CPU 使用率过高的问题--云数据库 MySQL 版-火山引擎

方法

  1. 检查查询日志:查看MySQL查询日志,以查看优化后是否有任何查询运行过度。可能优化已更改了查询执行计划,导致某些查询运行速度变慢或消耗更多资源。
  2. 检查优化后的表结构:确保优化后的表结构符合预期,并且没有引入任何意外后果,例如额外的索引或约束可能影响查询性能。
  3. 分析服务器指标:利用诸如**tophtop**或监控软件等工具来分析服务器的CPU、内存和磁盘使用情况。这可以帮助确定CPU飙升是由MySQL特定引起的还是系统范围内的问题。
  4. 监视MySQL性能:使用MySQL的内置性能监控工具,如**SHOW PROCESSLISTSHOW ENGINE INNODB STATUS**,以识别任何长时间运行的查询或锁定可能导致CPU飙升的原因。
  5. 审查优化技术:如果使用了特定的优化技术,如添加索引或分区,请确保它们被正确实现,并且对系统的整体性能有所裨益。
  6. 检查资源竞争:确保服务器上没有资源竞争,例如磁盘I/O瓶颈或内存不足,这可能导致CPU使用率增加。

optimizer table 期间 cpu100%

  1. kill 线程、kill 不掉可以直接重启
  2. 不要在业务运行时间执行,比如白天人多晚上人少,一定要选择晚上
  3. 如果可以选择无锁变更