我想知道所有的关键点,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议),并测量对系统的影响。