1000 FAQ, 500 Anleitungen und Lernvideos. Hier gibt es nur Lösungen!
Beheben Sie eine endlose Seitenladung (erhöhen Sie den Wert von max_children)
Dieser Leitfaden erklärt, wie man den Wert von max_children erhöht auf einem Managed Cloud Server, um die Anzahl der gleichzeitig verwendeten PHP-Prozesse auf Ihrer Website zu erhöhen. Dies wird sehr nützlich sein, um Probleme mit dem unendlichen Laden von Seiten auf Ihrer Website zu lösen.
Standardmäßig ist das Limit von max_children auf 20 festgelegt. Obwohl es möglich ist, diesen Wert über die Administrationskonsole Ihres Cloud-Servers zu erhöhen, wird das Limit von max_children automatisch je nach Konfiguration Ihres Cloud-Servers angepasst.
Voraussetzungen
- Stellen Sie sicher, dass Sie über die erforderlichen Ressourcen auf dem Cloud-Server verfügen.
- Stellen Sie sicher, dass alle Ressourcen des Cloud-Servers nicht vollständig genutzt werden. Wenn dies der Fall ist, hat die Erhöhung des Werts von max_children keine Auswirkungen (Ändern Sie die Ressourcen des Cloud-Servers).
- Überwachen Sie das Ressourcen-Monitoring Ihres Servers. Falls die Ressourcen Ihres Servers erschöpft sind, müssen Sie die Optimierung von Prozessen und Ihrer Website überprüfen, bevor Sie erwägen, den Wert von max_children zu erhöhen.
- Überprüfen Sie die PHP-Fehlerprotokolle im Verzeichnis /ik-logs (Hauptprozess PHP-Protokolle - Dateiname: php-fpm.log), um zu überprüfen, ob das Limit "max_children" überschritten wurde. Beispiel für einen Fehler:
[05-Jul-2023 09:08:58] WARNING: [pool www.infomaniak.ch] server reached max_children setting (20), consider raising it
Grenzen je nach Server
Maximale Grenze von max_children je nach Ressourcen des Cloud-Servers:
Cloud-Serverkonfiguration | max_children |
---|---|
2 CPU | 6 GB RAM | 20 |
4 CPU | 12 GB RAM | 40 |
6 CPU | 18 GB RAM | 60 |
8 CPU | 24 GB RAM | 80 |
12 CPU | 36 GB RAM | 120 |
16 CPU | 48 GB RAM | 160 |
24 CPU | 72 GB RAM | 240 |
32 CPU | 96 oder 128 GB RAM | 320 |
Erhöhen des Werts von max_children
Um auf die Website zuzugreifen, für die der Wert von max_children auf dem Hosting auf dem Cloud-Server erhöht werden muss:
- Melden Sie sich beim Infomaniak Manager (manager.infomaniak.com) von einem Browser wie Brave oder Edge an.
- Klicken Sie auf das Symbol oben rechts in der Oberfläche (oder navigieren Sie über das linke Seitenmenü, z.B.).
- Wählen Sie Cloud Server (Bereich Web & Domain).
- Klicken Sie auf den Namen des betreffenden Servers in der angezeigten Tabelle.
- Klicken Sie im linken Seitenmenü auf Webhosting.
- Klicken Sie auf den Namen des betreffenden Hostings in der angezeigten Tabelle.
- Klicken Sie auf den Namen der betreffenden Website in der angezeigten Tabelle.
- Klicken Sie auf die Schaltfläche Erweiterte Einstellungen.
- Klicken Sie auf das Register PHP.
- Klicken Sie auf Erweiterte Optionen.
- Wählen Sie einen neuen Wert für max_children aus.
- Klicken Sie auf die blaue Schaltfläche Speichern.
Fortgeschrittene Befehle
Dieser Befehl ermöglicht es, direkt das Ergebnis eines Pools von PHP-Prozessen zu erhalten, ohne in htop navigieren zu müssen:
ps aux | grep "php-fpm: pool domain_here"
Um die Anzahl der Prozesse zu erhalten, wobei immer 1 abgezogen werden muss, da auch der grep-Prozess selbst mitgezählt wird:
ps aux | grep "php-fpm: pool domain_here" | wc -l
Dieser Befehl zeigt den durchschnittlichen Speicherverbrauch in Kilobyte pro Prozess in der RSS-Spalte an:
ps -ylC php-fpm --sort:rss
Der folgende Befehl berechnet den durchschnittlichen Speicherverbrauch für alle obigen PHP-FPM-Prozesse in MB:
ps --no-headers -o "rss" -C php-fpm | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"Mb") }'