跑fastcgi,用spawn-fcgi 管理还是用php_fpm管理

下面是关于启用 FastCGI SAPI 时的问题和 php-fpm 是如何解决他们的对比列表。
描述
php 自带的
spawn-fcgi + spawn-php.sh + daemontools
php-fpm
php 守护进程化: pid file, log file, setsid(), setuid(), setgid(), chroot()
(-)
(+)
(+)
进程管理。可以用 "graceful" 来停止并启动 php worker 进程而不会丢失请求。能够平滑地升级配置和二进制程序而不丢失任何请求。
php4 (-), php5 ( 只有 graceful)
(-)
(+)
严格限制来源请求的 web server ip 地址
php4 (-) php5 (+) ( 5.2.2 开始 )
(-)
(+)
根据负载动态调整进程数
(-)
(-)
Todo
用不同的 uid/gid/chroot/environment 和不同的 php.ini 选项启动 worder 进程。你不需要 safe mode 了!
(-)
(-)
(+)
记录 worker 进程 stdout stderr 日志
(-)
(-)
(+)
如果使用优化器,在共享内存意外破坏的情况下紧急重启所有的进程
(-)
(-)
(+)
如果 set_time_limit() 失败,确保进程会结束
(-)
(-)
(+)
特色功能 Error header 、优化的上传支持、 fastcgi_finish_request()
 
由对比来看,用 php_fpm 管理的好处是可以在不停止服务的情况下进行平滑启动,
 
接下来再转载另外一个测试结果:
 
php-fpm 的使用非常方便 , 配置都是在 php-fpm.ini 的文件内
而启动 , 重启都可以从 php/sbin/php-fpm 中进行
更方便的是修改 php.ini 后可以直接使用 php-fpm reload 进行加载
无需杀掉进程就可以完成 php.ini 的修改加载
结果显示使用 php-fpm 可以使 php 有不小的性能提升

php-fpm 控制的进程 .cpu 回收的速度比较慢 . 内存分配的很均匀
spawn-cgi 控制的进程 CPU 下降的很快 . 而内存分配的比较不均匀 .
有很多进程似乎未分配到 , 而另外一些却占用很高 .
可能是由于进程任务分配的不均匀导致的 . 而这也导致了总体响应速度的下降
php-fpm 合理的分配 . 导致总体响应的提高以及任务的平均

你可能感兴趣的:(PHP,管理,fastcgi,休闲,fpm)