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

OC2*_*2PS 4 mysql wordpress performance innodb percona

我不想问一个主观的"哪个DBMS最好?" 或"这两个DBMS哪个更好?".这不一定是一场粉丝辩论.

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

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

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

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

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

请保持任何自鸣得意的讽刺评论,例如"为什么不试试"给自己.如果可以,我愿意.Stack Overflow的目的是分享专业知识并相互学习,而不是自己做所有事情.

Gue*_*ter 6

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

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

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

如果您真的想详细了解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实例进行概要分析.我知道你说你不能,但是......这个问题有点像我问"什么样的发型对我来说最好",不包括图片.


Bil*_*win 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站点.

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