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

ele*_*n59 1 memory performance 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?

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

Ben*_*ssi 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进程太多了

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

根据您的规格,2.4Ghz,8GB RAM服务器将无法运行20个"大型"Magento站点.为了正确看待这一点,通常情况下(对于共享主机),我们在3.3GHz,16GB RAM服务器上最多放置8个存储.

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