PHP-FPM配置优化
作者QQ:67065435 QQ群:669756510
本站内容全部为作者原创,转载请注明出处!
优化流程
确认PHP版本
# php5中没有www.conf,PHP-FPM主要配置项都在php-fpm.conf中 # php7、php8有www.conf,PHP-FPM主要配置项都在www.conf中 php -v确认服务器硬件配置
# 可以通过 top free -m # 等确认服务器配置及资源占用情况计算配置值(以2核4G为例)
# 考虑到用户一般会在下班、放学后访问网站、APP、小程序等,推荐使用动态进程管理(static-静态 dynamic-动态) ; 进程管理 pm = dynamic pm.max_children = 100 ;最大启动进程数,单请求最大占用30M内存,再大就该优化代码,考虑预留内存防耗尽,取3000M/30M=100 pm.start_servers = 10 ;初始启动进程数,官方手册建议为CPU核数2*5,默认值:最小空闲进程数+最大空闲进程数/2 pm.min_spare_servers = 10 ;最小空闲进程数,建议≤初始启动进程数 pm.max_spare_servers = 30 ;最大空闲进程数,建议≥初始启动进程数,且≤最大启动进程数,过大内存浪费,过小会频繁创建及删除进程 ; 超时控制 request_terminate_timeout = 30s ; 脚本最长执行时间,超时自动终止 request_slowlog_timeout = 3s ; 超过3秒记录慢请求日志 slowlog = /var/log/php-slow.log ; 慢日志路径 ;内存控制 pm.max_requests = 10240 ; 进程生命周期单个进程处理这些次请求后重启释放内存,避免内存泄漏(这是php-fpm的内存回收机制) php_admin_value[memory_limit] = 128M ; 单脚本内存限制,根据业务调整 listen = /var/log/php-fpm.sock ; 使用UnixSocket通信,比TCP更快