如何减少插件导致的阿帕奇连接?

时间:2012-05-21 作者:Adam

在过去一两个月里,我的服务器性能越来越差(速度慢,页面加载停滞,大部分时间都是在后端问题上),这主要是一个标准博客。该网站每天获得2万点击量,尽管我甚至在周末流量较低时也会遇到这些问题。

当前主机/设置:

Knownhost VS3(VPS)/Apache/RAM:1216 MB优化:WP超级缓存;Cloudflare(CDN)

  • 内存使用率通常为15-20%/硬盘:60GB的50%
    • 我尝试卸载超级缓存;安装W3TC。这带来了一些额外的问题,包括发现无法启用对象缓存的困难。

      过去几年中,服务器问题一直在少数几家公司中持续存在。这不是新的/最近的,只是越来越糟。

      My main question is whether the plugins I have enabled could be creating these problems as my host suggests & if so, how do I reduce the number of connections? PConnect不是我需要缓存的地方。

      请参阅下面的主机消息。。。

      Please verify the number of apache connections to the plugins in the domain:
      
      ---
      root@host [~]# sh plugins.sh
      70869 jetpack
      241234 mailchimp
      5099 shadowbox-js
      206378 slidedeck-lite-2-for-wordpress
      91584 twitter-blackbird-pie
      ---
      
      The \'mailchimp\' is a recently installed plugin which has already created a high number of apache conenctions.
      
      ---
      # stat mailchimp
      File: `mailchimp\'
      Size: 4096 Blocks: 8 IO Block: 4096 directory
      Device: bbh/187d    Inode: 11994057 Links: 5
      Access: 2012-04-23 00:09:45.533873264 -0400
      Modify: 2012-04-23 00:09:52.778590301 -0400
      Change: 2012-04-23 00:09:52.778590301 -0400
      ---
      
      完整的插件列表(其中大多数对于站点功能非常重要):

      Akismet 
      All in One SEO Pack 
      Ambrosite Next/Previous Post Link Plus
      Meta Box (custom - uses Alchemy) 
      Blackbird Pie 
      CloudFlare 
      Get The Image 
      Google XML Sitemaps 
      Jetpack by WordPress.com 
      Links in Captions
      Load Scripts (custom - for enqueuing Javascript & CSS files) 
      Login LockDown 
      Mailchimp 
      Shadowbox JS 
      SlideDeck 
      VaultPress 
      WP Super Cache
      WP to Twitter
      

    1 个回复
    SO网友:EAMann

    首先,我们需要澄清一些术语。您和您的主机引用的是“Apache连接”,这毫无意义。

    Basic Application Lifecycle

    WordPress是一个PHP应用程序。PHP在Apache中运行时使用(通常)mod_php.

    当用户请求您的网站时,他们会向您的服务器(Apache)发送HTTP请求。Apache看到请求,并根据其配置将请求转发给PHP。

    PHP将启动WordPress,它读取请求的URL并启动相应的例程进行响应,这包括加载您列出的任何插件,以及在需要时加载您的主题。

    在WordPress/PHP为您的站点构建HTML之后,他们会将其交还给Apache。Apache然后将响应交回浏览器。

    这就是缓存的用武之地

    您的HTML页面可能包含多个样式表、图像、JavaScript文件等。浏览器将请求这些资源中的每一个。因此,我们再次完成上述过程,浏览器请求一个新的URL,如果需要,Apache将其转发给PHP,并打包一个响应。

    您的插件本身不会创建任何类型的“Apache连接”

    What you can do

    您已经安装了缓存系统。你确定它起作用了吗?验证是否正在从缓存中提供静态内容,并且离降低服务器负载又近了一步。

    您还可以安装前端缓存,如Varnish 防止频繁的静态内容请求访问Apache。

    此外,您可以使用Nginx代替Apache来降低内存占用。

    但所有这些都是您需要根据您的技能、可用工具、VP上的资源(以及您必须花费在外部专家身上的现金量)做出的决定。

    结束