三种工作模式
ondemand,static,dynamic(内存优先、静态池、服务优先)
ondemand
php-fpm启动的时候不会启动worker进程,按需启动worker,有链接进来后,才会启动
listen = 127.0.0.1:9001
pm = ondemand
pm.process_idle_timeout = 60
pm.max_children = 10
连接到来时(只有链接,不没有数据也会创建,telnet也会创建),创建新worker进程,worker进程数的创建收max_children设置限制,也受限于全局的process.max设置(三种模式都受限此,下文中有全局配置项讲解),如果空闲时间超过了process_idle_timeout的设置就会销毁worker进程
- 优点:按流量需求创建,不浪费系统资源,
- 缺点:因为php-fpm是短连接的,如果每次请求都先建立连接,大流量场景下会使得master进程变得繁忙,浪费cpu,不适合大流量模式
- 不推荐使用此模式
dynamic
会初始化创建一部分worker,在运行过程中,动态调整worker数量,最大worker数受pm.max_children和process.max
listen = 127.0.0.1:9001
pm = dynamic
pm.max_

本文详细介绍了php-fpm的三种工作模式:ondemand、dynamic和static,包括它们的工作原理、优缺点及适用场景。ondemand模式按需启动worker,适合低流量场景;dynamic模式动态调整worker数量,适用于中等流量;static模式启动固定数量worker,适用于大内存服务器。此外,文章还讨论了进程数配置、内存与CPU的关系以及pm.max_requests参数对性能的影响。
最低0.47元/天 解锁文章
1586

被折叠的 条评论
为什么被折叠?



