PHP-FPM 的几种运行模式比较和调优
2018-04-20 本文已影响0人
守望星空l
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 次请求重启一次,防止意外的内存泄漏情况