改变 MySQL 系统优先级的默认值是个好主意吗?

改变 MySQL 系统优先级的默认值是个好主意吗?

我在 RHEL 5.3 上运行 MySQL 5.0.x。
我在 MySQL 手册中读到 (这里) 指出“在 2.4 内核中以最高优先级运行 mysqld 进程对于实现最大性能至关重要”,并且他们建议使用 renice -20。

没有提到 2.6 内核。
在我的系统上,MySQL 以优先级 0 运行。

我确实遇到了负载问题,当在正常的白天数据库流量期间发生诸如复制大文件之类的磁盘活动时,IOwait会变得很高。

改变优先级是一个好主意吗?或者这样做是否存在任何潜在问题?

谢谢。

答案1

调度程序优先级不会解决您的问题,它仅用于在有多个等待时选择哪个进程首先使用 CPU。

IOwait 是由进程卡住等待 IO 完成(在您的情况下是磁盘)引起的。它与进程优先级无关,因此更改它不会产生任何影响。解决方案是限制大文件传输的速率,将它们移至机器空闲时的其他时间,或者升级磁盘以便它们可以更好地处理负载。使用 iostat -xm 5 监视磁盘利用率 %,如果超过 80%,那就是坏消息了。

答案2

根据我的经验,如果您在混合用途机器上,即运行 db、apache 和邮件等,则默认运行时优先级 (0) 就可以了。

如果它是只是一台数据库机器,我会在不牺牲可管理性的情况下尽可能提高优先级(相对于 ssh 远程控制台)。

相关内容