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

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

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

替代文字

这是什么“顶部”命令diplay(按内存使用sorting):

替代文字

在我的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 

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

谢谢!

对我来说,看起来不错。 你的PHP + MySQL只占用大约100兆字节的内存,给操作系统留下了很大的空间。

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

如果内容是高度dynamic的并且caching不好,而且数据库结构恰好是复杂的,或者数据库很大,那么性能就会受到影响。

通常情况下,内存将是您stream量增长时遇到的第一个限制,而高度dynamic的内容也会给CPU带来折磨。

这是不好的,你的php5-fpm过程大约35Mo。 有了这个configuration,你可以有50个进程(max_children = 50),每个进程分配35mo。 因此,只有512Mo的你的机器会交换。 我认为你的限制是在php-fpm(max_children = 10)的10个程序左右。

Linode岩石! 我唯一的build议是把MySQL移动到一个单独的512MB的linode。 好处是很多,除非$ 20 /月将打破银行,没有坏处。

我的直觉告诉我你正在运行debian或ubuntu ..检查出栈脚本库。 有一个专门为linode优化的MySQL服务器。 然后将私有IP(免费)添加到您的文件/ nginx / php-fpm服务器,并将私有IP添加到您的数据库服务器。 所有的数据将在您的linode DC的本地networking内传输。 速度很快,并不计入每月带宽上限。

你甚至可以把你的“大项目”网站放在同一个nginx / php-fpm linode上。 随着stream量的增加,您可以添加专用的memcached VPS,专用的PHP-FPM VPS,并按照您的需要横向扩展至多20美元的512MB内存。

你的数据库会垂直缩放…所以当它开始饿了,碰撞到下一个尺寸。

它可以处理多less将取决于像caching,干净的代码和每页加载数据库调用的数量…从数据库拆分前端打开大门,“规模尽可能大”,很容易。

我也很关心这个事实。 我正在运行使用仅具有613Mb“内存”的微型实例的Amazon EC2虚拟服务器系统。 我们可以从我们的testing中发现,它可以处理至less50个同时运行的孩子,而没有任何明显的问题。 我不能解释行为,但可以告诉你,它仍然有效。