细心的朋友在查看php-php日志的时候会发现有时会出现下面的警告:
WARNING: [pool www] seemsbusy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 8 children, thereare 0 idle, and 29 totalchildren
该信息是建议增加pm.start_servers数量,请注意下上面红色标注的[pool www], 不同配置可能这里会有差异,在具体修改的找到对应pool的配置文件即可;
首先找到所安装php-fpm的配置文件存放路径(注意:不同版本的php-fpm配置文件路径可能有细微的差别),我们可以通过phpinfo()打印查看。
pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 10 pm.max_spare_servers = 20
上面是[pool www]配置文件中PM相关配置信息,下面简单说明下这几个参数的用途:
pm.max_children = 50
pm.max_children有两个作用:
- 指定在static模式下创建的子进程数;
- dynamic模式下同一时刻允许最大的php-fpm子进程数量;
pm.start_servers = 5 #动态方式下的起始php-fpm进程数量 pm.min_spare_servers = 10 #动态方式下服务器空闲时最小php-fpm进程数量 pm.max_spare_servers = 20 #动态方式下服务器空闲时最大php-fpm进程数量
一般php-fpm进程占用20~30m左右的内存就按30m算。如果单独跑php-fpm,动态方式起始值可设置物理内存Mem/30M,由于大家一般Nginx、MySQL都在一台机器上,于是预留一半给它们,即php-fpm进程数为$Mem/2/30。
更改后的[POOL WWW] PM配置信息:
pm.max_children = 50 pm.start_servers = 16 pm.min_spare_servers = 10 pm.max_spare_servers = 30
保存后记得重启PHP-FPM让配置文件生效即可。
大佬各种骚操作我这种都是随缘基本不管数据库的哈哈