网站运行缓慢:关于优化的建议

时间:2011-12-02 作者:pixeline

我刚刚发布的这个基于WordPress的网站速度非常慢。

我已经对我的主题进行了很多优化,页面速度达到91/100,但第一次使用字节是罪魁祸首:它需要8到20秒。

我已经安装了W3 Total Cache、memcache、APC、eAccelerator、xCache,但网站速度一直很慢。

服务器:CentOS 5.7(x86\\U 64),2G RAM,CPU:1 Intel(R)Celeron(R)CPU 2.80GHzMysql 5.1HP:5.2.7Apache 2.2

11 个回复
最合适的回答,由SO网友:Chris_O 整理而成

如果可能的话,将您的PHP更新到5.4版本。x分支。

在添加缓存层之前,需要确定是什么减慢了MySql和PHP的速度。

您需要启用WP\\U调试并消除任何PHP错误。查找未定义的索引、语法错误和不推荐使用的函数。

距离第一个字节20秒的时间都与PHP、MySql和或WordPress相关。这听起来像是由于编写糟糕的代码或查询时间过长而导致的内存泄漏。您是否有任何昂贵的查询,例如meta\\u查询?

我建议安装Debug BarDebug Bar Extender 插件。启用分析并在模板的各个部分设置检查点,如在任何特殊查询之前和之后。

要设置检查点,请使用函数:dbgx_checkpoint( $note="" ) 使用$note变量列出检查点的安装位置。

探查器将记录运行时间和内存使用情况,以查明任何问题。

如果您使用WordPress对象缓存插件,它还将为您提供对象缓存的清晰图片。

此外,APC、eAccelerator、xCache也不会同时工作,如果你尝试的话,会炸毁你的网站(我相信你可能是说你尝试了它们中的每一个)。

SO网友:cr0z3r

如果您意识到问题与服务器无关,而是由(自定义)主题中的错误或错误代码组成,我强烈建议您对其进行检查:

设置您的WP_DEBUG to true 和安装this 插件。使用起来很愉快,它将列出所有应该或必须修改的主要(甚至次要)代码段、选择器、函数等。

SO网友:anmari

你做过yahoo Yslow吗?看看有多少http请求首先被加载(没有缓存)

这也将有助于确定你能做些什么-如smush图像等

SO网友:Pothi Kalimuthu

我也处于类似的情况。在我的情况下,是定制的主题暂时没有更新。我通过将主题更改为默认的二十个主题(在测试环境中)来解决这个问题,然后让开发人员修复/更新主题代码。

SO网友:Jonnybojangles

除了利用已经列出的所有调试信息外,还可以尝试禁用插件并系统地重新打开它们,以帮助找到任何一个可能需要重构的插件。这也适用于主题。尝试切换到wp 2011年主题的干净副本。

SO网友:amatusko

插件往往是罪魁祸首,您是否尝试过禁用所有插件并在那里测试您的速度?通常,影响网站的低效代码主要是在一个编码糟糕的插件中。如果仍然存在问题,请禁用所有,然后查看性能是否有显著变化。

由于您使用的是好的缓存工具(请确保正确设置了它们,并且它们不会相互冲突),因此导致您的主要问题的罪魁祸首几乎总是出现在某个错误的查询中。编写高质量CMS核心代码(如WordPress和Drupal)的人通常做得很好——不是完美的,没有代码是完美的,但核心CMS代码将比插件代码优越9倍。

有时太多的缓存方案/工具可能会对您不利,请尝试Varnish,但不要同时启用memcached eAccelerator或xcache。APC应该很好,但要注意。Varnish是一个反向代理缓存,如果页面已经加载,它会在请求到达应用程序之前拦截请求,这给了我一些非常好的性能提升。

您可能希望进入W3总缓存设置,而不是只启用所有选项,尝试一些不同的组合。DB缓存通常非常有用,APC操作码缓存几乎总是有利于35%的性能提升,但仅适用于LAMP堆栈的php端。

在CDN(内容分发网络)上获取静态文件

W3 Total Cache为CloudFlare设置了一个设置,我在一个速度较慢的站点上尝试了一下。有一个免费的层,它仍然做得很好,为我的工作。他们会要求你把你的DNS服务器改成他们的,这没什么大不了的。它只允许他们将您的媒体文件和其他类型的内容托管在一个速度极快的服务器上,该服务器具有地理上分布的访问点,从而减少了跳数。它并不完全适用于您的数据库问题,但我将使用我能找到的任何具有成本效益(又名免费)的改进,这会有所不同。

要使用CloudFlare,只需创建一个免费帐户或升级到更高的服务级别(添加功能,而不是速度),然后只需按照说明操作并将API密钥插入W3 Total Cache settings页面中的相应框中即可。

PS我对cloudflare没有兴趣,我相信还有很多其他服务,但与W3 Total Cache的集成使它非常简单,我对结果印象深刻。

SO网友:Meigo62

使用mod_deflate 在您的htaccess 您可以手动使内容可缓存。如果您想根据访问者的位置提供静态内容,那么CDN很好。

那些插件一点都不好。如果您熟悉代码和优化,就不会使用它们。P3插件扫描器可以显示哪些插件太重;)

SO网友:Ünsal Korkmaz

您不需要memcache、APC、eAccelerator、xCache等所有组件。。选择一个并仅使用它apc.shm_size=256M

SO网友:Kalan Star

我运行多个站点,有些站点在不同的时间运行了4或5个第三方主题,我也遇到过类似的问题。我的问题是,大多数时候,主题/插件冲突。

例如:一个站点运行了30多个插件和一个第三方主题,运行速度很快。更改为一个新主题,一个站点开始消耗VPS电源(我在一个VPS上运行大多数站点),所有站点都开始变慢。令人惊讶的是,主题/插件冲突可能会破坏整个系统。所以在我看来,所有关于检查插件的建议都是很好的建议。我现在在这个网站上只运行了13个插件(bbpress/buddypress和其他基本插件)。

如果你可以自己做或者让开发人员来做,修改主题来做你的插件以前做过的事情,你就会有一个更高效的系统。

SO网友:Jaffer Wilson

是的,我的网站也面临同样的问题,我在那里发布了一个教程。我使用了从PageSpeedOptimizer.com 我逐渐了解到,我的网站面临的最大问题是沉重的图像和渲染阻塞。甚至缓存利用率问题也存在,但我已将其删除。因此,您也可以检查它,并可以解决报告中提到的问题。

SO网友:pixelngrain

提供url,这将有助于在许多情况下进行详细调查。

运行主题沉重的wordpress或许多插件会让网站速度非常慢。我也有同样的问题,删除了一些插件,速度大幅提高。如果您正在使用许多插件,请尝试删除其中一些不重要的插件。

在删除插件之前,您可以尝试禁用所有插件并检查速度。然后你可以一个接一个地尝试插件。Wordpress插件很好用,但缺点是添加每个插件都会影响网站速度。

如果你正在使用任何分析插件,如Wassup或Whos online等,这些插件也会让你的网站有点慢。W3总计,如果发现,有时会使网站沉重。

如果您有多个和大量的Javascript也会带来麻烦,请检查您的主题javascripts。一些很酷的公文包主题有很多js,导致网站速度变慢。此外,从其他服务器(如Vimeo或youtube等)加载视频、图像和音频文件会使网站速度变慢。Vimeo总是给你带来麻烦,如果你在加载嵌入式Vimeo视频的同时签入firefox,它会继续加载n。。这些小事情都会让网站变慢。

尝试从禁用插件和逐个打开插件开始。然后检查js,多个css。即使您可以检查一些动态php代码,例如,如果您使用了bloginfo();在许多需要在渲染期间转换为html的页面中,您也可以更改为html代码,但这取决于您自己。检查其他服务器等的嵌入数据。。

结束

相关推荐

Performance on WPMS

我的WPMS站点托管在8核/32mb RAM服务器上,但响应时间非常长。我们有大约1000个博客(单个db上有35000多个表)和70000个页面浏览量。我认为我可以缩短响应时间,将具有更多页面浏览量的博客移动到单独的DB中,并使用hyper DB插件将所有博客拆分为每个DB 100个博客。你觉得怎么样?