WordPress数据库性能:Percona服务器vs MySQL没有InnoDB

时间:2013-04-04 01:03:52

标签: mysql performance wordpress innodb percona

我不想问一个主观的“哪个DBMS最好?”或“这两个DBMS哪个更好?”。这不一定是一场狂热的辩论。

相反,我欢迎任何基准测试结果或特定经验,当涉及到一个特定标准 - 性能 - 特别是对于一个特定应用程序:WordPress。

据我所知,WordPress不使用InnoDB,因此在MySQL中禁用InnoDB可以加快速度。另一方面,Percona是一个MySQL分支,用XtraDB取代InnoDB,并声称是高效,高性能。

在运行WordPress时,每个如何叠加性能? (不需要竞争......对于我知道的所有事情,两者都可能看起来非常好)

我一直尝试在Google上进行搜索,但是没有遇到过智能讨论,更不用说性能基准测试了。

如果这里的任何专家能够分享他们的经验,我们将不胜感激。非常感谢!

请保持沾沾自喜,嘲笑“为什么不试试”自己的评论。如果可以,我愿意。 Stack Overflow的目的是分享专业知识并相互学习,而不是自己做所有事情。

2 个答案:

答案 0 :(得分:6)

这个问题不如“MySQL vs. Percona Server”而不是“MyISAM vs. InnoDB / XtraDB”。它们都有自己的性能特征,哪种存储引擎适合您,很大程度上取决于您的工作负载。大多数Wordpress站点都是低流量和大多数读取,因此只要您的数据适合您的缓冲池(对于InnoDB / XtraDB)或密钥缓存(对于MyISAM),我预计会有不太相似的性能。

在Wordpress数据库优化方面做了大量工作后,我可以告诉你,Wordpress网站的性能更多地取决于你的硬件类和你选择的插件。

  • 您应该使用缓存插件,以便您可以避免大量的数据库读取请求
  • 您应该避免发出昂贵查询的插件(遗憾的是,这涵盖了大多数插件)
  • 您应该删除您的评论(通常评论为99 +%垃圾邮件,因此标记为垃圾邮件的垃圾邮件只会占用您的数据库占用空间)
  • 您的主机应该有足够的内存,以便热数据集适合内存

如果您真的想详细了解MyISAM与InnoDB / XtraDB,请查看以下链接:

http://www.mysqlperformanceblog.com/2009/01/12/should-you-move-from-myisam-to-innodb/ http://www.rackspace.com/knowledge_center/article/mysql-engines-myisam-vs-innodb

因此,要做出更长的答案,您需要在生成生产流量后对MySQL实例进行概要分析。我知道你说你不能,但是......这个问题有点像我问“什么样的发型对我来说最好”,不包括照片。

答案 1 :(得分:6)

Wordpress可以使用InnoDB(或XtraDB)。我已经使用MyISAM,InnoDB和XtraDB中的任何一个对大规模托管WordPress的网站进行了咨询和培训。

WordPress 3.5.1创建表而不指定存储引擎。所以它尊重你正在使用的任何MySQL实例的默认存储引擎。从MySQL 5.5(2010年12月)开始,默认存储引擎是InnoDB。我测试了在运行MySQL 5.6.10的虚拟主机上安装WordPress,并使用InnoDB存储引擎创建了表。

我没有任何基准可供分享,但无论如何都会受到限制,因为性能在很大程度上取决于给定的硬件,流量负载和其他因素。

像WordPress这样的CMS往往会对只读查询进行大量加权。这就是InnoDB应该带来好处的地方,因为它可以缓存数据页面和索引。 MyISAM只缓存索引,并依赖文件系统缓存来保存数据。

因此,使WordPress表现良好的关键是分配足够的innodb_buffer_pool_size来保存所有表的数据和索引。 WordPress站点(甚至包含数百篇文章的站点)的数据大小通常不是很大,因此您可能只需要几GB的缓冲池来保存缓冲区中所有经常请求的数据。一旦数据和索引页面填充了InnoDB缓冲池,99.9%的查询将从RAM中提供,并且该站点将具有出色的性能。

与任何缓存系统一样,性能的真正杀手是当“热”数据大于缓存时,强制查询引发磁盘I / O.单个磁盘I / O值得几千个RAM访问,因此您希望尽可能地完全从RAM中提供内容。

XtraDB的改进旨在帮助随着Threads_running的数量增加,或者缓冲池变得更大(例如几十GB)。单个WP站点不太可能如此严重地运行MySQL或Percona Server,这些改进将提供更多的优势。除非您要在托管公司等托管服务器上托管数百个WP站点。

您甚至可能发现瓶颈不再是数据库,然后您需要专注于前端优化。