Große Serverlast auf dem Apache-Webserver nach der Installation einer neuen Version von webapp

314
nielsr

Ich habe ein Setup, bei dem ich eine PHP-Webapp auf einem Apache-Server bereitstelle. Nach einer neuen Version ist die Serverlast sehr hoch (durchschnittlich 40+ auf einer 4-Core-Maschine). Durch den Neustart von Apache wird das Problem behoben, und die Last fällt auf einen gesunden Wert.

Ich verwende Capistrano für den Veröffentlichungsprozess. Jede Version wird in einem eigenen Ordner bereitgestellt, z /home/webapp/releases/20171205100256. B..

Wenn das Release erfolgreich ist (es wird ein Checkout von Github durchgeführt, einige Ordner erstellt usw.), wird die aktuelle Version der Webapp aktualisiert. Dies funktioniert über einen Symlink:

/home/webapp/current -> /home/webapp/releases/20171205100256

Apache ist mit einem Vhost konfiguriert, auf den verwiesen wird /home/webapp/current/public.

Dieses Problem ist in der Vergangenheit nicht aufgetreten, tritt jedoch seit einigen Wochen auf. Wir veröffentlichen wöchentlich und sind uns sicher, dass das Problem nach einer Veröffentlichung auftritt, wenn viele Benutzer die App verwenden (Veröffentlichung erfolgt abends, Problem beginnt um 9 Uhr am Morgen danach).

In der App gibt es ein paar Zwischenspeicherungen und solche, die für die Veröffentlichung spezifisch sind und die erstmalige Verwendung einer Funktion etwas länger dauern. Dies ist jedoch vernachlässigbar.

Kennt jemand dieses Problem oder hat vielleicht eine Ahnung, wie es gelöst werden soll? Der Neustart von Apache nach jeder Veröffentlichung ist nicht zu viel Arbeit, aber ich möchte verstehen, warum dies so ist, damit ich das Problem lösen kann, anstatt die Symptome zu beheben.

Vielen Dank!

Niels

0

0 Antworten auf die Frage