我使用的是四核 CENTOS 5.9 i686 标准版,运行 WHM 11.36.0。这是一台专用的 LAMP 服务器,上面有很多网站,其中大多数网站都在使用数据库。我使用 Munin 监控服务器,发现负载总是很高,超出了极限(通常 >4)。Munin 还显示了一个内存图,表明在 4GB RAM 服务器上,不断交换和已提交的内存平均约为 5-6 GB。这肯定不健康吧?
我曾尝试使用 tuning-primer.sh 和 mysqltuner.pl 调整 mysql,但我现在觉得自己无能为力。这些工具一直在推荐一些东西,但无论我做什么,它们都会不断给出新的建议,我觉得自己现在在原地打转。所以我的问题是:有没有一个临界点,即使理论上可以提高性能,尝试进一步调整 mysql 是否变得毫无意义?
有没有简单的方法可以知道 mysql 是否已达到最大值?
答案1
数据库服务器需要大量的 RAM。按今天的标准,4GB 是一个很小的数量。增加更多 RAM 是您可以对 MySQL 进行的最有效的优化(您甚至可以知道您的 RAM 不足,因此需要交换)。您所做的其他所有事情都只是微调,影响要小得多。由于您使用的是 32 位系统,最简单的方法是将 MySQL 卸载到具有更多 RAM(和现代 64 位操作系统)的辅助服务器上。
答案2
真的无所谓。除非性能不够好,否则担心这个问题而不是其他应该引起你注意的问题就是浪费时间。这包括机器的安全性、备份、担心查询(组织不良的查询或数据可能会产生巨大的影响,我曾经看到一个查询在几个小时后被终止;重新考虑数据库组织和查询本身可以将时间缩短到几分钟)。设置好,如果机器发生故障,可以在短时间内将替换件投入使用(干净、记录和备份的配置;相关数据的最新备份;确定的潜在备件;……)。