在Linux服务器上极其精确地调整MySQL性能

我想知道所有的关键点,MySQL可以通过my.cnf或其他方法,库和工具在Linux服务器上进行性能优化。 提示和技巧和阴凉的东西也欢迎。

由于目标服务器体系结构非常重要,因此可以围绕此示例目标体系结构来回答您的问题

1 GB的RAM(非ecc)

2.2GHz双Xeon

文件系统ext3或reiserfs(欢迎提供build议)

7200转硬盘

几个WordPress的安装,每秒至less5-10个请求。

一个很常见的设置,如果你问我,这里没什么特别的。

因此,我想就如何在这样一个目标服务器上调整MySQL安装的问题进行讨论,直到您从MySQL服务器的angular度来看,您无法真正做得更多,从而获得更好的性能。

你仍然可以在MySQL中做很多事情来获得这个设置的性能,我在我的服务器上使用MySQL的入门来微调所有与内存有关的参数(你可以从这里得到它)。

此外,文件系统是重要的,但对MySQL不重要,我已经在reiserfs和ext3中使用它(尝试在/etc/fstab添加noatime,nodiratime ,如果使用ext3),结果几乎相同。

非常重要的是你有多less内存,当然越多越好!

我的build议,坚持服务器的情况下,你很舒服,然后开始你的MySQL,并开始微调的底漆,5-10个查询/秒的情况看起来很轻,会给你很多的空间来改善的事情。

调整MySQL最有效的方法是优化您的查询。 您应该启用一个缓慢的查询日志来获取慢速查询的列表。 如果你的查询速度超过1秒(股票MySQL的最小边界),你应该安装Percona服务器或MariaDB,他们有一个microslow补丁。 你也可以试试mysqlreport ,这是一个非常方便的工具。 使用本指南解释其结果,并作出进一步的决定。

这个问题不可能在这里回答。 学习太多了。 您可以从详细阅读MySQL手册开始。 然后去买一两本关于Mysql调优和Linux性能调优的书 。 这些不会(不能)为您提供您正在寻找的答案 – 它们会告诉您设置如何影响行为,以及如何测量应用程序产生的效果。 这个问题没有通用的解决scheme – 尽pipeLinux和MySQL都有很好的缺省设置。

一旦你完全理解了这些书中的所有内容,那么你就可以开始对系统进行修改了。 您需要收集统计数据并检查每个变化以衡量其有效性 – 但是您还需要了解目标search中局部最小值的问题。

你可能会发现mysqltuner有帮助 – 但是你需要能够判断它的build议的影响(特别是对于振荡的build议),并测量对系统的影响。