Ich habe ernsthafte Probleme bei der Bereitstellung meiner Laravel-Anwendung. Dies ist eine Nachrichtenseite, nichts Kompliziertes. Die gesamte Homepage wird in Redis als reines HTML zwischengespeichert und Abfrageergebnisse werden ebenfalls in Redis gespeichert, sodass die MySQL-Nutzung sehr minimal ist. Da die Anwendung voll funktionsfähig ist, haben wir beschlossen, sie nachts in der Produktionsumgebung zu testen. Nach der Bereitstellung stellten wir fest, dass die CPU-Auslastung auf allen 12 Kernen auf 90–100 % anstieg, sodass die Anwendung sehr langsam oder überhaupt nicht lief. Es gibt etwa 400 Benutzer und 17–20 Anfragen pro Sekunde.
Wir haben versucht, die Servereinstellungen zu ändern (z. B. PHP-FPM), aber ohne Erfolg. Wir haben einige Tests mit Apache Benchmark durchgeführt und die Ergebnisse zeigten, dass die CPU-Auslastung bei 10 gleichzeitigen Benutzern etwa 80–100 % betrug. Als nächstes wiederholten wir den Test mit einem sauberen Laravel (ohne unsere Anwendung) mit ähnlichen Ergebnissen.
Was wir verwenden:
Wir haben festgestellt, dass Nginx-Caching die CPU-Auslastung in Anwendungen wie Wordpress oder Drupal reduzieren kann. Aber ich denke, Laravel nutzt es nicht. Muss Laravel so konfiguriert werden, dass es den Nginx-Reverse-Proxy verwendet und ihn auf besondere Weise zwischenspeichert?
Ich weiß wirklich nicht, was ich tun soll. Hat jemand ähnliche Probleme festgestellt?
Laravel 在 Nginx 上运行得很好。我使用 Nginx 在 Google Cloud 上的容器中运行我的应用程序,没有任何性能问题。
如果您想使用保留代理,这个代理可以帮我完成这项工作:
}