WordPress在VPS上非常慢

时间:2015-02-13 12:29:31

标签: mysql wordpress performance apache caching

最近一位客户在1& 1购买VPS,我将Worpress网站从旧的共享主机(Bluehost)移动到新的VPS。该网站非常慢,我不知道如何解决这个问题在哪里进行攻击,如果我应该在Apache中进行优化,如果我应该安装一些插件来避免这种情况或其他原因我需要一些建议。 WP周围的一些数据:

  • 数据库保存约35k个帖子
  • 我已禁用W3C Total Cache插件,因为我认为配置错过并且可能会降低网站速度
  • 我没有使用像thimbthumb这样的图像压缩器(这是首先安装的,但由于我从网站上删除的安全原因)
  • VPS有两个核心和4GB内存,它运行Centos,PHP 5.3.3,MySQL 5.5.x和Apache 2.2.15

有人可以给我一些想法吗?建议吗?经验?不知道还能做什么或如何解决这个问题,而且我的知识在这方面还没有到此为止。

注意:该网站是this自己测试的,并注意它有多慢

执行测试:

为了找到我已启用的瓶颈:

  • Wordpress调试日志:

    define('WP_DEBUG', true);
    define('WP_DEBUG_LOG', true);
    define('WP_DEBUG_DISPLAY', false);
    @ini_set('display_errors',0);
    

    这会记录大多数时间错误,例如[13-Feb-2015 12:01:46] PHP Notice: Undefined property: stdClass::$category_parent in /var/www/vhosts/elclarinweb.com/httpdocs/sistema/wp-content/themes/elclarin_v2/functions.php on line 136

  • MySQL日志:mysql.logmysqld.logmysqld_slow.log

对于mysql.log,我注意到了大量的访问权限,mysqld_slow.log我发现了以下输出:

SET timestamp=1423830131;
SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes';
# User@Host: elclarin_us[elclarin_us] @ localhost []
# Query_time: 0.001520  Lock_time: 0.000043 Rows_sent: 227  Rows_examined: 261
SET timestamp=1423830131;
SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes';
# Time: 150213 13:22:14
# User@Host: elclarin_us[elclarin_us] @ localhost []
# Query_time: 0.003051  Lock_time: 0.000097 Rows_sent: 227  Rows_examined: 261
SET timestamp=1423830134;
SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes';
# User@Host: elclarin_us[elclarin_us] @ localhost []
# Query_time: 0.003259  Lock_time: 0.000097 Rows_sent: 227  Rows_examined: 261
SET timestamp=1423830134;
SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes';
# Time: 150213 13:22:15
# User@Host: elclarin_us[elclarin_us] @ localhost []
# Query_time: 0.001597  Lock_time: 0.000048 Rows_sent: 227  Rows_examined: 261

为什么始终执行相同的查询?任何Web服务器线程都在杀死我的Wordpress?

1 个答案:

答案 0 :(得分:2)

看起来你至少需要仔细研究三个方面:

  1. 服务器创建页面需要多长时间
  2. GZip压缩
  3. 页面显示时加载的内容。
  4. 服务器需要很长时间才能创建您的页面。所有SQL查询都可能是原因。您需要找出标准页面的数据库活动。如果你能告诉导致活动的原因,它将为你提供有关如何攻击它的线索。即使在缓慢的VPS上,WordPress本身通常也不会那么慢。

    其次,您的网站未设置为使用GZip。只需打开GZip就可以减少要下载的数据量。

    第三,您在上面给出的链接上的页面会产生168个不同的HTTP请求。页面显示需要很长时间,这并不奇怪。其中一些请求阻止浏览器开始显示(呈现)页面。我建议您使用WebPageTest之类的网站。它将分析您的网站,并为您提供有关具体情况的详细信息。然后,您可以查看下载的每个项目,看看是否有办法加快速度。