品易云推流 关闭
文章详情页
文章 > PHP教程 > php中fpm的三种模式

php中fpm的三种模式

php

头像

小妮浅浅

2021-07-21 17:42:141037浏览 · 0收藏 · 0评论

pm有三种模式:static、dynamic和ondemand

1、static

这种方式比较简单,在启动时master按照pm.max_children配置fork出相应数量的worker进程,即worker进程数是固定不变的。

2、dynamic

动态进程管理,首先在fpm启动时按照pm.start_servers初始化一定数量的worker。

运行期间如果master发现空闲worker数低于pm.min_spare_servers配置数(表示请求比较多,worker处理不过来了)则会fork worker进程,但总的worker数不能超过pm.max_children。

如果master发现空闲worker数超过了pm.max_spare_servers(表示闲着的worker太多了)则会杀掉一些worker,避免占用过多资源,master通过这4个值来控制worker数。

3、ondemand

这种方式一般很少用,在启动时不分配worker进程,等到有请求了后再通知master进程fork worker进程,总的worker数不超过pm.max_children,处理完成后worker进程不会立即退出,当空闲时间超过pm.process_idle_timeout后再退出。

实例

; Choose how the process manager will control the number of child processes.
 
; Possible Values:
 
;   static  - a fixed number (pm.max_children) of child processes;
 
;   dynamic - the number of child processes are set dynamically based on the
 
;             following directives. With this process management, there will be
 
;             always at least 1 children.
 
;             pm.max_children      - the maximum number of children that can
 
;                                    be alive at the same time.
 
;             pm.start_servers     - the number of children created on startup.
 
;             pm.min_spare_servers - the minimum number of children in 'idle'
 
;                                    state (waiting to process). If the number
 
;                                    of 'idle' processes is less than this
 
;                                    number then some children will be created.
 
;             pm.max_spare_servers - the maximum number of children in 'idle'
 
;                                    state (waiting to process). If the number
 
;                                    of 'idle' processes is greater than this
 
;                                    number then some children will be killed.
 
;  ondemand - no children are created at startup. Children will be forked when
 
;             new requests will connect. The following parameter are used:
 
;             pm.max_children           - the maximum number of children that
 
;                                         can be alive at the same time.
 
;             pm.process_idle_timeout   - The number of seconds after which
 
;                                         an idle process will be killed.
 
; Note: This value is mandatory.

以上就是php中fpm的三种模式,希望对大家有所帮助。更多php学习指路:php教程

本文转载于CSDN,如有侵犯联系作者修改。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图