ITPub博客

首页 > IT职业 > IT生活 > php中fpm的三种模式

php中fpm的三种模式

IT生活 作者:qingcai 时间:2021-09-11 09:48:26 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,如有侵犯联系作者修改。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2899/viewspace-2828804/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-19

  • 博文量
    71
  • 访问量
    680