避免PHP-FPM进程满负载返回502状态

排查:

  1.查看php-fpm慢日志slowlog指向链接

  2.查看php-fpm日志是否有错误或警告日志

 

解决:

  1.调整php-fpm.conf中max_children配置

  2.把耗时的网络IO(curl)或磁盘IO请求独立出来

    2.1)新增一个php-fpm端口为9001的进程池,专门用了处理耗时的请求

    2.2)nginx把耗时的处理转发到9001的端口上

    php-fpm.conf配置

#php-fpm.conf: 正常脚本由静态www池处理,阻塞脚本由动态curl池处理
[www]
listen = 127.0.0.1:9000
pm = static
pm.max_children = 4

[curl]
listen = 127.0.0.1:9001
pm = dynamic
pm.max_children = 8
pm.start_servers = 4
pm.min_spare_servers = 4
pm.max_spare_servers = 6

    

    nginx.cof配置

#nginx.conf: 访问curl.php的请求都交给监听9001的PHP-FPM进程池处理
location = /curl.php {
    include fastcgi_params;
    fastcgi_pass 127.0.0.1:9001;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

  这样耗时的进程就不会影响计算的进程,有效时阻止502状态出现

转载于:https://www.cnblogs.com/lg-lin/p/10524604.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值