3

我们正在运行 nginx + php5-fpm,作为部署过程的一部分,我们使用符号链接指向最新版本的 PHP 代码。为了避免在部署新版本时更改文件出现问题,我们使用如下的 nginx-config,其中使用 $realpath_root 将真实文件路径发送给 php-fpm:

location ~* ^/(app|app_dev|config)\.php(/|$) {
    fastcgi_pass php;
    fastcgi_split_path_info ^(.+\.php)(/.*)$;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
    fastcgi_param DOCUMENT_ROOT $realpath_root;
}

当我们使用 AWS 实例时,这种设置在去年运行良好。现在我们切换到 Google Cloud,每次部署新版本时,我们的服务器响应时间都会增加 2-3 倍。使用(其中 17 是主进程的进程 ID)重新加载 PHP-fpm 后kill -USR2 17,响应时间恢复到正常值。

部署后响应时间增加

任何建议如何在每次发布后不重新启动 php-fpm 工作进程的情况下解决这个问题?

最好的,托拜厄斯

4

0 回答 0