我们正在运行 m1.xlarge MySQL RDS 服务器,但在 CPU 使用率高时遇到了一些问题。几周前,我们遇到了一些问题,大型实例的 CPU 利用率达到 100%。当我们将大小升级到 xlarge 时,情况稳定了一段时间,但 CPU 使用率逐渐再次上升。
在过去一周左右的时间里,CPU 利用率一直处于 90 年代的高位,昨天一直达到 100% 左右,这使我们的生产站点陷入停顿。重新启动数据库服务器后,CPU 使用率在数小时内回升至相同水平。
我已经在 mysql 服务器上运行了 show processlist,并且一直在通过 MySQL admin 进行监控。似乎也没有任何特别长时间运行的查询或大量查询。有几个进程长时间处于睡眠状态……这些是在我们的主应用程序之外运行的独立工作守护进程,它们与数据库进行通信。我在下面的 processlist 输出中复制了服务器名称,以说明它们是什么:
+------+----------+---------------------------------------------------+--------------+---------+-------+--------------+----------------------------------------------------------------------------------------+
| Id | User | Host | db | Command | Time | State | Info |
+------+----------+---------------------------------------------------+--------------+---------+-------+--------------+----------------------------------------------------------------------------------------+
| 13 | rdsadmin | localhost:43513 | mysql | Sleep | 14 | | NULL |
| 15 | proddbuser | app-server-1.eu-west-1.compute.internal:36460 | proddb | Sleep | 46 | | …Run Code Online (Sandbox Code Playgroud) mysql ×1