与Apache类似,它的进程数也是可以根据设置分为动态和静态的。php-fpm目前主要又两个分支,分别对应于php-5.2.x的版本和php-5.3.x的版本。不过经过数次的尝试,会发现,实际上在这里将pm的style配置成apache-like没有起任何作用。由上面一段文字可知,对于进程的管理存在两种风格――static和dynamic。如果设置成static,php-fpm进程数自始至终都是pm.max_children指定的数量,不再增加或减少。这两种不同的进程管理方式,可以根据服务器的实际需求来进行调整。如果dm设置为static,那么其实只有pm.max_children这个参数生效。系统会开启设置数量的php-fpm进程。事实上,跟Apache一样,运行的PHP程序在执行完成后,或多或少会有内存泄露的问题。这也是为什么开始的时候一个php-fpm进程只占用3M左右内存,运行一段时间后就会上升到20-30M的原因了。

Nginx使用的php-fpm的两种进程管理方式及优化

Nginx使用的php-fpm的两种进程管理方式及优化