networkinghomer
Goto Top

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

Content-ID: 568437

Url: https://administrator.de/contentid/568437

Ausgedruckt am: 24.11.2024 um 23:11 Uhr

certifiedit.net
certifiedit.net 29.04.2020 aktualisiert um 23:45:52 Uhr
Goto Top
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
tomolpi
tomolpi 29.04.2020 um 23:43:09 Uhr
Goto Top
Hallo Homer,

schau dir mal PHP FPM an, und sonst vielleicht vor den Apache noch einen NGINX bappen, damit habe ich auch immer gute Erfahrungen gemacht...

Grüße

tomolpi
wiesi200
wiesi200 30.04.2020 um 07:05:47 Uhr
Goto Top
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.
spec1re
spec1re 30.04.2020 um 09:49:12 Uhr
Goto Top
Wie sieht es den mit dem Storage aus, SSD, HDD, Raid Level usw.?
Alchimedes
Alchimedes 30.04.2020 um 13:45:05 Uhr
Goto Top
Hallo Homer,

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

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
stefaan
stefaan 30.04.2020 um 17:13:29 Uhr
Goto Top
Servus,

wenn ich von 400 Usern und einloggen lese, dann vermute ich mehr als nur ein einfaches PHP-Skript.

Läuft da im Hintergrund noch eine DB oder so?
Welche PHP-Version? Opcache aktiviert?

Grüße, Stefan