Octopus 部署导致 PHP-FPM CPU 使用率达到 100%

Octopus 部署导致 PHP-FPM CPU 使用率达到 100%

环境:AWS
OS:GoldenImage-amazonLinuxV2-2021-01-04_19.43.07
Nginx:1.20.0
PHP-FPM:7.3.33
Octopus Tentacle:6.1.1351

旧方法
因此,我们目前使用一个简单的推送脚本将 PHP 站点部署到 14 个 AWS EC2 实例。此脚本只需通过 SSH 连接到每个服务器并在 /mnt/web/public_html 中运行 git pull。代码更新后,CPU 使用率保持稳定在 20-60% 左右。

新方法
我们正在尝试切换到 Octopus 进行部署,因为它更强大。我们遇到的问题是,一旦将代码部署到服务器,CPU 使用率就会飙升至 90-100%。这会导致响应时间激增,甚至导致网站抛出 502。我们甚至让它运行了大约 2 个小时,它似乎从未下降过。

CPU 使用率图表

部署前脚本:

if [ "$(get_octopusvariable "Octopus.Tentacle.CurrentDeployment.TargetedRoles")" = "web-server" ]; then
  nginx -s stop;
  sudo systemctl stop php-fpm;
fi

部署后脚本:

chown -R ec2-user:ec2-user $(get_octopusvariable "Octopus.Action.Package.CustomInstallationDirectory");
if [ "$(get_octopusvariable "Octopus.Tentacle.CurrentDeployment.TargetedRoles")" = "web-server" ]; then
  sudo systemctl start nginx;
  sudo systemctl start php-fpm;
  sudo systemctl status -l nginx;
fi

我们尝试了一种方法,按照此处的说明禁用 Octopus 增量压缩 https://octopus.com/docs/deployments/packages/delta-compression-for-package-transfers

我们还尝试在此处禁用清除选项: 章鱼安装目录

我们也比较了修改前后的文件权限。似乎使用旧方法,git 将文件夹设置为 775,将文件设置为 664。Octopus 将文件夹设置为 755,将文件设置为 644。

任何想法,将不胜感激。

相关内容