配置文件位置一般在PHP目录下的etc/php-fpm.d/*.conf
pm.max_children = 100
最大子进程数量,越多越好,一般每个php-cgi所耗费的内存为20M左右
如果最大数量设置为100,则在峰值的时候php-cgi所耗内存在2000M以内
如果这个值设置的比较小,那么等待的请求时间会出现502超时
4G内存服务器可以设置成200
pm.start_servers = 20
pm.start_servers:启动时创建的子进程数,10~20之间就可以,20个的话是400M内存
pm.max_requests = 10240
为避免内存泄露,php-fpm有这么一个机制,当一个php-cgi进程处理的请求数达到这个配置后,则会自动重启该进程
所以在高并发中,经常导致502错误
解决方法就是把这个值设置大一些,减少进程重启次数,减少高并发情况下502错误。
request_terminate_timeout = 400
单个请求的超时中止时间,超时后会终止进程,nginx发现信号断了,就会给客户端返回502错误。
和php.ini的max_execution_time配置不冲突,谁先达到时间谁先起作用。
由于程序中有请求第三方接口等待,所以建议这个值设置为400秒,长一点不会出现502错误
pm.min_spare_servers = 10
保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程
pm.max_spare_servers = 30
保证空闲进程数最大值,如果空闲进程大于此值,此进行清理