- 安装必要的一些扩展
- 调大Linux打开文件数量的限制:ulimit
- php-fpm参数调优
1. pm = dynamic;
dynamic表示php-fpm进程数是动态的,
如果请求较多,则会自动增加,保证空闲的进程数不小于pm.min_spare_servers;
如果进程数较多,也会进行相应清理,保证多余的进程数不多于pm.max_spare_servers
pm = dynamic(动态)在动态方式下他限定php-fpm的最大进程数
(这里要注意pm.max_spare_servers的值只能小于等于pm.max_children)
pm.max_children:开启的php-fpm进程数量
pm.start_servers:动态方式下的起始php-fpm进程数量。
pm.min_spare_servers:动态方式空闲状态下的最小php-fpm进程数量。
pm.max_spare_servers:动态方式空闲状态下的最大php-fpm进程数量。
2. pm = static;
static表示php-fpm进程数是静态的, 进程数自始至终都是pm.max_children指定的数量,不再增加或减少
pm = static(静态)
pm.max_children:开启的php-fpm进程数量
3. pm = ondemand;
-
通过top命令查看cpu占用较高的进程,
-
strace -p 进程id追踪进程为啥导致的占用高
-
开启opcache
-
开启php-fpm慢日志
slowlog = /log/php-fpm.slow.log
request_slowlog_timeout = 2s
- 设置php-fpm单次请求最大执行时间,request_terminate_timeout = 10s