Nginx + PHP 5.3.3(使用 php-fpm) - 内存使用情况?

use*_*484 6 nginx php-fpm debian-lenny php53

我最近购买了带有 Debian 5.0 Lenny (i386), 512MB RAM 的Xen VPS (linode.com) 。目前我只有三个小网站(用 Drupal 构建),每天大约有 600 个用户在这台服务器上运行。

作为 Web 服务器,我使用nginx 0.7.67(带有php-fpm 的PHP 5.3.3)。平均内存消耗约为100-105MB。这是穆宁图显示的内容:

替代文字

这就是“top”命令显示的内容(按内存使用情况排序):

替代文字

在我的 php5-fpm.conf 中:

pm = dynamic
pm.max_children = 50
pm.start_servers = 2
pm.min_spare_servers = 2
pm.max_spare_servers = 5
pm.max_requests = 500
Run Code Online (Sandbox Code Playgroud)

在将一些更大的项目迁移到这个 VPS 之前,我想知道这是否是这种服务器配置的正常内存消耗?这个 VPS 可以处理网站上的多少用户(比方说,用 Zend Framework 构建)?

谢谢!

Jan*_*nen 7

对我来说这看起来不错。您的 PHP + MySQL 仅占用大约 100 兆字节的 RAM,为操作系统留下了很大的喘息空间。

对于您的“这个 VPS 可以处理多少用户?” 问题:这取决于。通过适当的缓存和其他最佳实践,我认为它应该每秒至少处理数十个请求,如果不是更多的话。

如果内容是高度动态的并且不能很好地缓存,并且数据库结构恰好很复杂和/或数据库很大,那么性能就会受到影响。

通常,当您的流量增长时,内存将是您遇到的第一个限制,对于高度动态的内容,CPU 也会受到折磨。


小智 7

这不好,您的 php5-fpm 进程需要大约 35Mo。使用此配置,您可能有 50 个进程(max_children = 50),每个进程分配 35mo。因此,您只有 512Mo 的机器将交换。我认为你的限制是大约 10 个 php-fpm 进程(max_children = 10)。

  • 就在钱上。查看顶部输出 - 每个 php5-fpm 子进程占用 30 到 45 Mb。您可能有 300 Mb 的空间。为保守起见并避免交换,请考虑将最大孩子数设置为 7。 (3认同)