问题背景

生产环境突然出现502 Bad Gateway,用户请求失败率飙升至40%。

核心排查步骤

  1. 检查PHP-FPM状态

    tail -f /var/log/php7.4-fpm.log
    # 发现"server reached pm.max_children setting"
  2. 调整关键参数

    # /etc/nginx/conf.d/site.conf
    fastcgi_buffers 16 16k;
    fastcgi_buffer_size 32k;
    proxy_connect_timeout 300s;
  3. 动态扩容方案

    # 临时提升PHP进程数
    sed -i "s/pm.max_children = 50/pm.max_children = 100/" /etc/php/7.4/fpm/pool.d/www.conf
    systemctl reload php7.4-fpm

验证效果

通过ab -n 1000 -c 200压测,502错误率从40%降至0.2%,配置已写入Ansible模板。