PHP-FPM参数如何调优

本文介绍了PHP-FPM的关键参数调整,如`pm.max_children`、`pm.start_servers`、`pm.max_requests`等,以应对高并发和内存管理。通过优化这些参数,可以减少502错误,提高服务器性能。同时,还提到了`request_terminate_timeout`的设置,以防止因请求第三方接口导致的超时问题,并提供了检查PHP-FPM状态的方法。
摘要由CSDN通过智能技术生成

配置文件位置一般在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
保证空闲进程数最大值,如果空闲进程大于此值,此进行清理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值