1

这个问题可能有点冗长和具体,但我已经尝试找到以下问题的结论性答案大约一个月了,我还没有找到决定性的信息。像这样具体的问题很难一概而论,如果我遇到类似的问题,即使特定的服务器配置与我的不同,它也会提供有用的信息。

我的服务器是运行 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,还可以作为启用 mailman 的电子邮件服务器等。
4

1 回答 1

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 优化的相互矛盾的信息。

于 2012-03-07T15:49:22.290 回答