php-fpm进程管理方式(static和dynamic)

  • A+
所属分类:PHP

目前最新5.3.x的php-fpm,有两种管理进程的方式,分别是static和dynamic。

如果设置成static,进程数自始至终都是pm.max_children指定的数量,pm.start_servers,pm.min_spare_servers,pm.max_spare_servers配置将没有作用。

如果设置成dynamic,则进程数是动态的,最开始是pm.start_servers指定的数量,如果请求较多,则会自动增加,但不超过 pm.max_children指定的数量,同时保证空闲的进程数不小于pm.min_spare_servers,如果进程数较多,也会进行相应清理, 保证多余的进程数不多于pm.max_spare_servers。

当php-fpm启动后,一个php-cgi进程约战3M内存,但是当它们处理过一些请求后,有些内存是释放不掉的,占用的内存能达到20M-30M不等。

对于内存比较吃紧,同时并发量不是很大的应用,可以考虑采用static的方式,这样可以很好的控制php-fpm的所消耗的总内存数,让系统更加 平稳运行。另外由于并发量很小,可以适当的把设置pm.max_requests小一些,以便让php-fpm进程有机会重启,从而释放其占用的内存。

weinxin
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  1   博主  0

    • 少林功夫好 9

      可是有一些说法是使用static可以减少动态在高并发时的性能影响。