首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WordPress MySQL性能

WordPress MySQL性能
EN

Webmasters Stack Exchange用户
提问于 2011-04-07 18:16:56
回答 4查看 297关注 0票数 3

我有一个网站(www.americanbankingnews.com),今天有40,000到50,000页的浏览量.它目前位于一个专用的四核Xeon服务器上,内存为8GB。该站点由WordPress和MySQL (位于同一台服务器上)提供动力,我目前正在使用W3全速缓存进行页面和MySQL查询缓存。

不幸的是,这似乎还不够。在高峰流量期间,我的服务器会收到一些HTTP 500错误和页面,而这些错误和页面并没有缓慢地缓存负载。

我目前没有使用Xcache或任何其他PHP缓存/加速工具。

我是否应该采取其他步骤来优化MySQL和PHP性能?或者我应该为另一台服务器买单。具体来说,我会对改进MySQL性能的其他建议感兴趣,以及在这种情况下,像xcache这样的工具是否会有所帮助。

EN

回答 4

Webmasters Stack Exchange用户

发布于 2011-05-07 23:10:00

在考虑使用机器之前,您是否对WordPress安装的插件、模板等做了彻底的审核?

我在共享主机上有一个30到40k/天的客户端,其中很大一部分站点需要身份验证才能读取(因此我们不能完全使用“静态”SuperCaching),而且他们还没有收到任何显著的性能抱怨。

如果您正在咀嚼一台专用机器,只需再访问10k,那么可能会有更多的情况发生,而不仅仅是一个功率不足的服务器。

票数 3
EN

Webmasters Stack Exchange用户

发布于 2011-04-07 18:25:14

APC (替代PHP )将有助于节省CPU周期,因为它缓存已经编译的PHP代码。这意味着,在每次加载页面时,您的PHP文件都不会首先编译,然后由虚拟机执行,它们直接进入PHP虚拟机,性能提升非常显著(性能从2倍提高到12倍)。

下一步将是优化MySQL。显而易见的步骤是检查您是否正在使用InnoDB。将InnoDB的buffer_pool_size增加到大约90%的内存将使MySQL存储它直接在RAM中使用的数据集,因此尽可能避免磁盘IO。

然而,理想的做法是缓存您的所有页面(我假设您没有每天发布那么多与内容相关的新内容)。

这可能需要一些工作(或者可能有一个WordPress模式,我不太确定,因为我不是那么喜欢WP和它的插件)。缓存内容将减轻数据库的负载。每天40k - 50k的浏览量意味着高的阅读率,所以你应该优化阅读,而不是写。

另外,您可能会考虑切换到nginx,而不是停留在Apache中使用undefined。这将大大提高你的表现。

没有看到服务器的实际负担(我猜是Apache产生了大量频繁访问MySQL的进程),这是目前唯一能想到的事情。

票数 2
EN

Webmasters Stack Exchange用户

发布于 2011-08-30 19:06:25

对于一个高流量的站点,您应该调优所有的MySQL缓冲区,以获取现在已经存在的内容。不管WordPress的版本是什么,MySQL层可以计算其配置.

实际上,如果您有InnoDB数据而没有启用innodb_file_per_table,那么您需要通过将每个表分割成自己的物理表空间来清除InnoDB.。可以进行体面的MySQL调优即使你有有限的硬件。有执行此类InnoDB优化的许多方案

如果不知道要配置的数据量,则无法为my.cnf规划良好的设置。您必须定期将当前数据集从生产环境加载到暂存环境中,执行优化,并获得要在生产服务器的my.cnf中配置的编号。

票数 1
EN
页面原文内容由Webmasters Stack Exchange提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webmasters.stackexchange.com/questions/11820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档