Mediu: AWS
OS: GoldenImage-amazonLinuxV2-2021-01-04_19.43.07
Nginx: 1.20.0
PHP-FPM: 7.3.33
Tentacul de caracatiță: 6.1.1351
Metoda veche
Deci, în prezent, folosim un script push simplu pentru a implementa un site PHP în 14 instanțe AWS EC2. Acest script se conectează pur și simplu la fiecare server prin SSH și rulează un git pull în /mnt/web/public_html. După actualizarea codului, utilizarea procesorului rămâne constantă în jur de 20-60%.
Noua metodă
Încercăm să trecem la Octopus pentru implementare, deoarece este mai robust.Problema cu care ne confruntăm este că, de îndată ce codul este implementat pe server, utilizarea procesorului crește vertiginos la 90-100%. Acest lucru determină o creștere a timpului de răspuns și chiar determină site-ul să arunce 502s. Îl lăsăm chiar să meargă aproximativ 2 ore o dată și nu pare să scadă niciodată.
Graficul de utilizare a procesorului
Script de pre-implementare:
if [ "$(get_octopusvariable "Octopus.Tentacle.CurrentDeployment.TargetedRoles")" = "web-server" ]; atunci
nginx -s stop;
sudo systemctl stop php-fpm;
fi
Script post-implementare:
chown -R ec2-user:ec2-user $(get_octopusvariable "Octopus.Action.Package.CustomInstallationDirectory");
if [ "$(get_octopusvariable "Octopus.Tentacle.CurrentDeployment.TargetedRoles")" = "web-server" ]; atunci
sudo systemctl start nginx;
sudo systemctl start php-fpm;
sudo systemctl status -l nginx;
fi
Un lucru pe care l-am încercat a fost dezactivarea compresiei Octopus delta folosind instrucțiunile de aici
https://octopus.com/docs/deployments/packages/delta-compression-for-package-transfers
De asemenea, am încercat să dezactivăm opțiunea de purjare aici:
Director de instalare Octopus
Am comparat permisiunile pentru fișiere înainte și după. Se pare că folosind vechiul mod git setează folderele la 775 și fișierele la 664. Octopus setează folderele la 755 și fișierele la 644.
Orice idei ar fi apreciate.