- Registriert
- 11. Dez. 2010
- Beiträge
- 5.371
- Punkte
- 448
- XF Version
- 2.2.15
- XF Instanz
- Hosting
- PHP-Version
- 8.2.x
- MySQL/MariaDB
- 10.3.x
- Provider/Hoster
- Strato/Hetzner
Hallo,
Unix Server (Ubuntu LTS),
MariaDB aktuell,
Apache2 + nginx aktuell, (php-fpm, event)
64GB Ram,
DB auf SSD,
Plesk Obsidian aktuell
Detailierter:
Pfeil 1 = Beginn, Ausfall
Pfeil 2 = Reboot, erst einmal alles OK
Wie man schön sehen kann (30 Tage im Blick) spinnt mein PHP-FPM gerade etwas rum. Die Quittung ist am Ende das Seiten nicht mehr geladen werden (Pfeil 1), es kommt zu time-outs (z.B. 504 oder 502).
Hat jemand nen Tipp, wie ich dem auf die Schliche kommen kann?
Aktuell schaut es nach nem reboot (nach 2h erfolgloser Versuche das Thema in den Griff zu bekommen) so aus:
Also erstmal recht normal mMn.
Zuvor hatte ich jedoch einen child der sich 5,4 Gb (!!) genehmigte (vor dem Reboot). Bei max 4 childs + dem Rest der Speicherverbraucher (DB ca. 1,1 Gb, Rest ca. 400 MB) war da natürlich schnell mal Schluss mit lustig bei 64 Gb Ram im Server.
Edit: ca. 1h später:
aktuell schwankt das Maximum um die 95-99 MB jeweils ...
und insgesamt:
etwas detailierter:
Aktuell um die 450-500 Mb statt zuvor rund 28,8 Gb im peak.
Laaangfristig betrachtet - schaukelt sich das System offenbar gern mal auf:
Letzte 90 Tage:
Letzte 30 Tage:
Es kam auch immer mal wieder morgens (aber nicht täglich) zu nicht erreichbaren Seiten (meist nginx 504er) was aber stets nur sehr kurz anhielt und wo och zunächst dachte, OK - keine 10 Gb, war ne Lastspitze, weiter beobachten.
Aber die letzte, heutige Eskaltion auf 28,8 Gb war dann doch zu heftig und lies sich auch nicht durch einen simplen Neustart von nginx und apache oder auch php-fpm auflösen. Erst ein reboot brach den peak dann.
unter etc/php/7.2/fpm/php.ini sind 128 MB als Limit eingetragen:
Jetzt hab ich auf dem Server aber neben php 7.2 auch noch 7.3, 7.4 und eine ältere Version aus Kompatibilitätsgründen laufen - gilt diese php.ini nun für ALLE php Versionen oder nur für diese eine? Wo finde ich auf die Schnelle die anderen dann ggf.?
in der zugehörigen etc/php/7.2/fpm/pool.d/www.conf ist das meiste auskommentiert. (default)
aktiv sind an Einstellungen u.a.:
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
Geh ich da nun händisch bei (unter Anbetracht des Plesk Obsidian auf dem Server) oder gibts nen anderen Punkt wo man diese Einstellungen Server-weit setzen kann? Gelten diese Server-weit für ALLE PHP Versionen oder nur für jeweils eine der installierten?
Wie komme ich einem einzelnen Amok laufenden php-fpm child auf die Schliche, weshalb er aus dem Ruder läuft? Jemand ne Idee zur Hand?
Unix Server (Ubuntu LTS),
MariaDB aktuell,
Apache2 + nginx aktuell, (php-fpm, event)
64GB Ram,
DB auf SSD,
Plesk Obsidian aktuell
Detailierter:
Pfeil 1 = Beginn, Ausfall
Pfeil 2 = Reboot, erst einmal alles OK
Wie man schön sehen kann (30 Tage im Blick) spinnt mein PHP-FPM gerade etwas rum. Die Quittung ist am Ende das Seiten nicht mehr geladen werden (Pfeil 1), es kommt zu time-outs (z.B. 504 oder 502).
Hat jemand nen Tipp, wie ich dem auf die Schliche kommen kann?
Aktuell schaut es nach nem reboot (nach 2h erfolgloser Versuche das Thema in den Griff zu bekommen) so aus:
Also erstmal recht normal mMn.
Zuvor hatte ich jedoch einen child der sich 5,4 Gb (!!) genehmigte (vor dem Reboot). Bei max 4 childs + dem Rest der Speicherverbraucher (DB ca. 1,1 Gb, Rest ca. 400 MB) war da natürlich schnell mal Schluss mit lustig bei 64 Gb Ram im Server.
Edit: ca. 1h später:
aktuell schwankt das Maximum um die 95-99 MB jeweils ...
und insgesamt:
etwas detailierter:
Aktuell um die 450-500 Mb statt zuvor rund 28,8 Gb im peak.
Laaangfristig betrachtet - schaukelt sich das System offenbar gern mal auf:
Letzte 90 Tage:
Letzte 30 Tage:
Es kam auch immer mal wieder morgens (aber nicht täglich) zu nicht erreichbaren Seiten (meist nginx 504er) was aber stets nur sehr kurz anhielt und wo och zunächst dachte, OK - keine 10 Gb, war ne Lastspitze, weiter beobachten.
Aber die letzte, heutige Eskaltion auf 28,8 Gb war dann doch zu heftig und lies sich auch nicht durch einen simplen Neustart von nginx und apache oder auch php-fpm auflösen. Erst ein reboot brach den peak dann.
unter etc/php/7.2/fpm/php.ini sind 128 MB als Limit eingetragen:
Jetzt hab ich auf dem Server aber neben php 7.2 auch noch 7.3, 7.4 und eine ältere Version aus Kompatibilitätsgründen laufen - gilt diese php.ini nun für ALLE php Versionen oder nur für diese eine? Wo finde ich auf die Schnelle die anderen dann ggf.?
in der zugehörigen etc/php/7.2/fpm/pool.d/www.conf ist das meiste auskommentiert. (default)
aktiv sind an Einstellungen u.a.:
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
Geh ich da nun händisch bei (unter Anbetracht des Plesk Obsidian auf dem Server) oder gibts nen anderen Punkt wo man diese Einstellungen Server-weit setzen kann? Gelten diese Server-weit für ALLE PHP Versionen oder nur für jeweils eine der installierten?
Wie komme ich einem einzelnen Amok laufenden php-fpm child auf die Schliche, weshalb er aus dem Ruder läuft? Jemand ne Idee zur Hand?
Zuletzt bearbeitet: