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-Key: 568437

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

Printed on: April 23, 2024 at 07:04 o'clock

Member: falscher-sperrstatus
falscher-sperrstatus Apr 29, 2020 updated at 21:45:52 (UTC)
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
Member: tomolpi
tomolpi Apr 29, 2020 at 21:43:09 (UTC)
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
Member: wiesi200
wiesi200 Apr 30, 2020 at 05:05:47 (UTC)
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.
Member: spec1re
spec1re Apr 30, 2020 at 07:49:12 (UTC)
Goto Top
Wie sieht es den mit dem Storage aus, SSD, HDD, Raid Level usw.?
Member: Alchimedes
Alchimedes Apr 30, 2020 at 11:45:05 (UTC)
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
Member: stefaan
stefaan Apr 30, 2020 at 15:13:29 (UTC)
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