我们有一个基于Java的SaaS应用程序,运行在2 GB的Linux VPS上的MySQL数据库上。
最近我们增加了RAM到服务器,几天之后,MySQL占用了99%的CPU使用量。 至于为什么会发生这种事情,我们是无能为力的。
我们已经在my.cnf文件中做了一些修改,就像我们在某些论坛上看到的一样。 我们已经增强了MySQL的资源。
我们下一步可以去哪里?
很可能你有很多“昂贵”的查询 – 如全表扫描。 数据可能适合内存,但CPU忙于处理其内容。 尝试build议缓慢的查询日志logging,并使用解释命令,了解究竟是MySQL正在做这些查询。
检查此演示文稿。 尝试下面的日志分析工具:
您可以启用MySQL慢速查询日志查看是否有任何耗尽的查询在服务器上运行,默认情况下,这将logging任何需要超过1 sekond执行的查询。
此外, MySQL分析器应该是有用的,以确定是什么造成的服务器上的沉重负载。