PHP-FPM 的几种运行模式比较和调优

fpm运行模式

fpm运行模式官方介绍:

pm = static #静态模式 启动的fpm进程数固定为 {max_children} 个
pm.max_children = 5
pm = dynamic #动态模式 进程数会动态调整
pm.max_children = 5 #启动的最大进程数
pm.start_servers = 3 # 刚启动时的初始进程数
pm.min_spare_servers = 2 #保证空闲进程数不少于 2 个 
pm.max_spare_servers = 4 #保证空闲进程数不多于 4 个 超过时会关闭多余进程 
pm.max_requests = 200 #fpm进程在处理200次请求后会重启 防止内存泄露
pm = ondemand  #此模式下没有请求时 启动的fpm子进程数为0个 按需启动
pm.max_children = 5 #启动的最大进程数
pm.process_idle_timeout = 10s #进程闲置超过10秒时自动关闭
pm.max_requests = 200

参数调整

每个fpm子进程大概需要占用20m上下的内存 ,并不是开越多越好,还是要根据实际的请求量进行调整,避免fpm占用过多资源

static 模式适合机器配置较好 最好还是独立的 固定多少个 可以节省启动子进程的时间,缺点是比较占用资源

dynamic 模式会动态管理子进程数 ,多退少补。 目前这个模式用的比较多 具体多少个需要看情况

max_requests : 最好不要设置为0 0代表不重启 一般设置2000-5000 次请求重启一次,防止意外的内存泄漏情况

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。