使用PHP作为DSO,FCGID或SuPHP和xCache的内存和性能

时间:2012-03-07 14:31:34

标签: performance memory fastcgi xcache suphp

这个问题可能有点长而且具体,但我一直试图找到以下问题的确凿答案大约一个月,我还没有找到决定性的信息。一个特定的问题很难概括,如果我遇到类似的问题,即使特定的服务器配置与我的不同,它也会提供信息。

我的服务器是运行cPanel(WHM)的VPS,PHP模式是SuPHP。该服务器拥有768MB的RAM,并托管了大约12个网站。有些内存非常耗费内存,而其他内存几乎不使用任何内存或CPU。

我最近为我的一位客户安装了一个Magento商店,并且一直在尝试不同的设置以实现性能提升。在我安装xCache并将PHP配置为以FCGID或DSO运行之前没有任何帮助(因为xCache不能与SuPHP一起使用)。这种配置将性能提高了2/3(意味着页面加载速度提高了约3倍)。

唯一的挫折是,几分钟后,服务器内存不足,我不得不重置它。所以现在我回到SuPHP,事情还不错。

即使我禁用了xCache并且只保留了FCGID或DSO模式而不是SuPHP,服务器也会在大约30分钟内耗尽内存。因此,罪魁祸首似乎是PHP正在运行,而不是SuPHP。

我还注意到,当我从不同的WHM定义的用户打开一个新的前端URL时,我的内存使用率上升了,但是当我从同一个WHM用户帐户打开多个URL时,用法似乎保持相当稳定

到那时:

  • 如何确保PHP + xCache保持稳定运行?或者我只需要购买更多内存?
  • SuPHP,DSO和FCGID之间的内存使用有何不同?是否可以通过更改一些php.ini变量进行调整?

另外,我正在考虑更新其他一些服务器以使用xCache。 您会为以下服务器推荐什么配置设置和PHP模式(SuPHP,DSO或FCGI)和xCache?

  • Quad core @ 2.4Ghz,4GB RAM专用服务器,带有1个巨大的Magento商店,带有cPanel和WHM
  • Quad core @ 2.4Ghz,8GB RAM服务器,带有20个大型Magento商店,带有cPanel和WHM
  • 四核@ 2.66Ghz,8GB RAM服务器,拥有100多个类似Joomla的网站,带有cPanel和WHM,也可以作为电子邮件服务器启用邮件服务等。

1 个答案:

答案 0 :(得分:5)

由于您正在运行cPanel - 您可以轻松安装Munin(图形插件)。转到WHM,在搜索框中键入插件并安装Munin。

让它收集大约一周的一些统计信息,然后你就可以很好地了解内存使用情况。

SuPHP实际上是CPU密集型的,因此您需要切换。

我们建议在使用cPanel时使用PHP-fCGI,这是一个替代品并且运行良好。我们使用Eaccellerator进行编译 - 因为我们已经测试了所有其他选项(APC / Xcache)并且发现它是最快的。我在这里详细介绍一下http://magebase.com/magento-tutorials/magento-session-storage-which-to-choose-and-why/comment-page-1/#comment-1986

如果你遇到OOM(内存不足)错误,那么你可能会发现你在内存上过度使用;这是两件事的结果(我们只关注PHP):

  1. PHP memory_limit太高
  2. PHP进程太多
  3. 你需要限制其中一个。对于像你这样的小型VPS,你将要努力使用768MB RAM。我们从不提倡使用VPS,因为您太过限制无法有效地运行Magento。

    根据您的规格,2.4Ghz,8GB RAM服务器将无法运行20个“大型”Magento站点。为了更好地理解这一点,通常情况下(对于共享主机),我们在3.3GHz,16GB RAM服务器上最多放置8个存储区。

    我建议寻求专业人士的帮助,以便正确设置您的服务器,因为您将找到有关Magento优化的大量相互矛盾的信息。