Apache2 Webserver ausreizen
Moin!
Ich habe folgenden Server:
Dedicated, 2 Prozessoren mit je 8 Kernen, 94 GB RAM. Darauf läuft eine PHP-Anwendung. Der Server konsumiert nie mehr als 40GB RAM - obwohl er ja 94 hat. User (<400), die sich in die PHP-Anwendung einloggen, beklagen Verbindungsabbrüche und langsame Ladezeiten - trotz der Ressourcen. Die 32 Threads sind immer nur mäßig ausgelastet. Ich habe versucht, mit siege https://en.wikipedia.org/wiki/Siege_(software) Last zu erzeugen, was auch klappt. Die Threads gehen quasi auf Anschlag, der RAM hingegen nicht.
Ich fahre ihn mit MPM-Prefork und dieser Konfig:
StartServers 20
MinSpareServers 20
MaxSpareServers 40
MaxRequestWorkers 1400
ServerLimit 1400
MaxConnectionsPerChild 8000
Ich habe schon viel probiert, um die Auslastung hochzuschrauben, aber das führt eher zu Abbrüchen, obwohl laut htop der Server eher brach liegt. Durch das Hochschrauben verspreche ich mir eine bessere Performance. Es ist, als würde man in einem Porsche immer nur im zweiten Gang fahren.
Any ideas?
LG
Homer
Ich habe folgenden Server:
Dedicated, 2 Prozessoren mit je 8 Kernen, 94 GB RAM. Darauf läuft eine PHP-Anwendung. Der Server konsumiert nie mehr als 40GB RAM - obwohl er ja 94 hat. User (<400), die sich in die PHP-Anwendung einloggen, beklagen Verbindungsabbrüche und langsame Ladezeiten - trotz der Ressourcen. Die 32 Threads sind immer nur mäßig ausgelastet. Ich habe versucht, mit siege https://en.wikipedia.org/wiki/Siege_(software) Last zu erzeugen, was auch klappt. Die Threads gehen quasi auf Anschlag, der RAM hingegen nicht.
Ich fahre ihn mit MPM-Prefork und dieser Konfig:
StartServers 20
MinSpareServers 20
MaxSpareServers 40
MaxRequestWorkers 1400
ServerLimit 1400
MaxConnectionsPerChild 8000
Ich habe schon viel probiert, um die Auslastung hochzuschrauben, aber das führt eher zu Abbrüchen, obwohl laut htop der Server eher brach liegt. Durch das Hochschrauben verspreche ich mir eine bessere Performance. Es ist, als würde man in einem Porsche immer nur im zweiten Gang fahren.
Any ideas?
LG
Homer
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 568437
Url: https://administrator.de/contentid/568437
Ausgedruckt am: 24.11.2024 um 23:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo Homer,
es hilft alles nichts, wenn die Anwendung die Leistung frisst. Ich hab eben meine Webserver um 33% Ladegeschwindigkeit durch Webserveranpassungen optimieren können (Nun sehr deutlich unter 1sek Ladezeit bei div. Seiten). Also hilft das hier nichts, ohne die Applikation zu kennen.
Viele Grüße,
Christian
certifiedit.net
es hilft alles nichts, wenn die Anwendung die Leistung frisst. Ich hab eben meine Webserver um 33% Ladegeschwindigkeit durch Webserveranpassungen optimieren können (Nun sehr deutlich unter 1sek Ladezeit bei div. Seiten). Also hilft das hier nichts, ohne die Applikation zu kennen.
Viele Grüße,
Christian
certifiedit.net
Hallo,
eher ein Lastwagen mit Porschemotor.
Wie schon geschrieben einen Nginx als Reverseproxy davor oder den gleich als Webserver verwenden.
Natürlich gibt's dann noch viele Schrauben als Feinschliff. TLS1.3, http/2, precompressed files, https://de.wikipedia.org/wiki/Brotli
und noch sehr vieles mehr.
eher ein Lastwagen mit Porschemotor.
Wie schon geschrieben einen Nginx als Reverseproxy davor oder den gleich als Webserver verwenden.
Natürlich gibt's dann noch viele Schrauben als Feinschliff. TLS1.3, http/2, precompressed files, https://de.wikipedia.org/wiki/Brotli
und noch sehr vieles mehr.
Hallo Homer,
aus dem Apache Project:
Ich glaube die Aktuelle Apache Version ist 2.4.2, warum benutzt Du MPM ? Ich wuerde dieses Modul mal deaktivieren.
Wie ist den die Netzanbindung des Servers ?
PHP FPM wie Kollege Tomolpi schrieb waere eine Idee.
Die Webseite mal mit den Browser Tools bzw. speedtest diverser Anbieter abrufen und schauen wo die Ladezeiten haengen.
Gruss
aus dem Apache Project:
Multi-Processing-Modul (MPM) implementiert einen im Voraus forkenden Webserver ohne Thread-Unterstützung, der Anfragen auf
ähnliche Weise behandelt wie der Apache 1.3
ähnliche Weise behandelt wie der Apache 1.3
Ich glaube die Aktuelle Apache Version ist 2.4.2, warum benutzt Du MPM ? Ich wuerde dieses Modul mal deaktivieren.
Wie ist den die Netzanbindung des Servers ?
PHP FPM wie Kollege Tomolpi schrieb waere eine Idee.
Die Webseite mal mit den Browser Tools bzw. speedtest diverser Anbieter abrufen und schauen wo die Ladezeiten haengen.
Gruss