Richtig konfigurieren PHP und PHP-FPM sind unerlässlich, um sicherzustellen, dass Ihre Website effizient und stabil funktioniert. Im Folgenden gehen wir die vorgeschlagenen Einstellungen durch, erläutern jeden Parameter und geben Tipps, wie Sie Ihre Konfiguration je nach Besuch und Nutzung der Website optimieren können.
PHP-Konfigurationen
speicher_limit
: 2048M
Funktion: Der Parameter speicher_limit
definiert die maximale Speichermenge, die ein PHP-Skript verwenden darf. Wenn ein Skript diese Grenze überschreitet, wird es beendet.
Rat:
- Für Websites mit geringem Verkehr: Ein Wert von 128M-512M ist im Allgemeinen ausreichend.
- Für Websites mit mittlerem bis hohem Traffic und komplexen Inhalten: Ein Wert von 1024M-2048M kann erforderlich sein.
- Verifizierung: Stellen Sie sicher, dass der Server über genügend physischen Speicher verfügt, um diese Einstellung zu unterstützen. Verwenden Sie Überwachungstools, um die Speicherauslastung zu überprüfen, und passen Sie den Wert bei Bedarf an.
max_ausfuehrung_zeit
: 512
Funktion: Der Parameter max_ausfuehrung_zeit
bestimmt die maximale Zeit in Sekunden, die ein Skript laufen darf, bevor es abgebrochen wird. Dadurch wird verhindert, dass schlecht funktionierende Skripte unendlich viele Ressourcen verbrauchen.
Rat:
- Für Websites mit geringem Verkehr: Ein Wert von 30-60 Sekunden ist oft ausreichend.
- Für Websites mit mittlerem bis hohem Traffic: Ein Wert von 60-120 Sekunden kann angemessen sein.
- Für komplexe Skripte: Wenn Ihre Skripte länger brauchen (z. B. bei intensiver Verarbeitung), können Sie den Wert erhöhen, aber versuchen Sie, den Code zu optimieren, um die Ausführungszeit zu verringern.
max_eingabe_zeit
: 512
Funktion: Der Parameter max_eingabe_zeit
gibt die maximale Zeit in Sekunden an, in der ein Skript Eingabedaten (z. B. Formulardaten oder geladene Dateien) analysieren darf.
Rat:
- Für Websites mit geringem Verkehr: Ein Wert von 30-60 Sekunden ist angemessen.
- Für Websites mit mittlerem bis hohem Traffic: Empfohlen wird ein Wert von 60-120 Sekunden.
- Überwachung: Wenn Ihre Skripte große Datenmengen analysieren, prüfen Sie die benötigte Zeit und passen Sie den Wert entsprechend an.
post_max_size
: 128M
Funktion: Der Parameter post_max_size
definiert die maximale Größe der Daten, die in einer POST-Anfrage enthalten sein dürfen.
Rat:
- Für Websites mit kleinen Uploads: Ein Wert von 8M-32M ist ausreichend.
- Für Websites mit mittleren Uploads: Ein Wert von 32M-64M ist angemessen.
- Für Websites mit großen Uploads: 128M oder mehr, um sicherzustellen, dass
upload_max_filesize
ist kleiner alspost_max_size
.
upload_max_filesize
: 256M
Funktion: Der Parameter upload_max_filesize
definiert die maximale Größe einer hochgeladenen Datei.
Rat:
- Für Websites mit kleinen Dateien: Ein Wert von 2M-16M ist ausreichend.
- Für Websites mit mittleren Dateien: Ein Wert von 16M-64M ist angemessen.
- Für Websites mit großen Dateien: 256M oder mehr, stellen Sie sicher, dass der Wert von
post_max_size
größer ist alsupload_max_filesize
.
opcache.enable
an
Funktion: Aktivieren Sie das Opcode-Caching, um die Leistung Ihrer PHP-Anwendung zu verbessern.
Rat: Lassen Sie diese Einstellung aktiviert, um die Leistung zu verbessern. Achten Sie darauf, die anderen opcache-Einstellungen richtig zu konfigurieren, um die Vorteile zu maximieren.
funktionen_deaktivieren
: opcache_get_status
Funktion: Deaktiviert bestimmte PHP-Funktionen aus Sicherheitsgründen.
Rat: Deaktivieren Sie nur die Funktionen, die für Ihre Website nicht notwendig sind, um die Sicherheit zu erhöhen.
Allgemeine PHP-Einstellungen
include_pfad
Funktion: Die Liste der Verzeichnisse, in denen PHP-Skripte nach enthaltenen oder benötigten Dateien suchen.
Rat: Behalten Sie den Standardpfad bei, es sei denn, es gibt einen besonderen Grund, ihn zu ändern. Fügen Sie nur dann Pfade hinzu, wenn sie für den Betrieb Ihrer Website erforderlich sind.
session.save_path
Funktion: Das Verzeichnis, in dem die PHP-Sitzungsdateien gespeichert sind.
Rat: Das Standardverzeichnis ist in der Regel ausreichend, aber stellen Sie sicher, dass es über die entsprechenden Lese- und Schreibberechtigungen verfügt. Wenn Ihre Website häufig Sitzungen verwendet, sollten Sie eine leistungsfähigere Lösung zum Speichern von Sitzungen wie Redis oder Memcached verwenden.
fehler_berichterstattung
: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
Funktion: Der Grad der PHP-Fehlermeldung.
Rat: Behalten Sie diese Konfiguration für die Produktionsumgebung bei, um zu vermeiden, dass den Endbenutzern unkritische Fehlermeldungen angezeigt werden.
display_errors
: aus
Funktion: Legt fest, ob PHP-Fehler als Teil der Ausgabe angezeigt werden sollen.
Rat: Lassen Sie diese Einstellung in der Produktion aus Sicherheitsgründen deaktiviert. Aktivieren Sie sie nur in einer Entwicklungsumgebung.
log_errors
an
Funktion: Ermöglicht den Zugriff auf PHP-Fehler, die in einer Protokolldatei aufgezeichnet werden.
Rat: Lassen Sie diese Einstellung aktiviert, um eventuelle Probleme lösen zu können. Überprüfen Sie regelmäßig die Fehlerprotokolle, um eventuelle Fehler zu erkennen und zu beheben.
PHP-FPM-Einstellungen
pm.max_children
: 12
Funktion: Die maximale Anzahl von Kindprozessen, die PHP-FPM erstellen kann.
Rat:
- Für Websites mit geringem Verkehr: 5-10 Versuche sind ausreichend.
- Für Websites mit mittlerem bis hohem Traffic: Es können 10-20 Verfahren erforderlich sein.
- Überwachung: Er überwacht die Speicher- und CPU-Auslastung, um die optimale Anzahl von Prozessen zu ermitteln.
pm.start_servers
: 2
Funktion: Die Anzahl der Serverprozesse beim Start.
Rat:
- Für Websites mit geringem Verkehr: 1-2 Verfahren sind ausreichend.
- Für Websites mit mittlerem bis hohem Traffic: 2-4 Prozesse beim Start.
- Überwachung: Überprüfen Sie die Startzeit des Servers und passen Sie den Wert ggf. an.
pm.min_spare_servers
: 2
Funktion: Die Mindestanzahl der inaktiven Serverprozesse.
Rat:
- Für Websites mit geringem Verkehr: 1-2 Verfahren sind ausreichend.
- Für Websites mit mittlerem bis hohem Traffic: 2-4 untätige Prozesse.
- Überwachung: Halten Sie eine ausreichende Anzahl ungenutzter Prozesse vor, um schnell auf neue Benutzer reagieren zu können.
pm.max_spare_servers
: 4
Funktion: Die maximale Anzahl der inaktiven Serverprozesse.
Rat:
- Für Websites mit geringem Verkehr: 2-4 Prozesse sind angemessen.
- Für Websites mit mittlerem bis hohem Traffic: 4-6 untätige Prozesse.
- Überwachung: Anpassung an die Auslastung, um eine Verschwendung von Ressourcen zu vermeiden.
pm.max_requests
: 500
Funktion: Die maximale Anzahl von Anfragen, die jeder Kindprozess ausführen kann, bevor er recycelt wird.
Rat:
- Für Websites mit geringem Verkehr: 200-500 Anfragen können ausreichend sein.
- Für Websites mit mittlerem bis hohem Traffic: 500-1000 Anfragen sind besser geeignet.
- Überwachung: Es überwacht das Verhalten von Prozessen und passt den Wert an, um Speicherlecks zu verhindern und Stabilität zu gewährleisten.
pm
: dynamisch
Funktion: Sie bestimmt das Verhalten der untergeordneten Prozessverwaltung.
Rat: Behalten Sie dynamisch
für eine flexible Verwaltung der untergeordneten Prozesse je nach Serverauslastung. In einigen Fällen, auf Abruf
kann nützlich sein, um in Zeiten mit geringem Verkehrsaufkommen Ressourcen zu sparen.
Zusätzliche Vorschläge
Überwachung der Ressourcen
Verwenden Sie Überwachungstools wie New Relic oder Serverüberwachungstools, um die Speicher- und CPU-Auslastung im Auge zu behalten.
- Rat: Es überwacht den Server regelmäßig, um Leistungsprobleme zu erkennen und schnell zu beheben.
Caching
Es implementiert serverseitiges Caching (z. B. Varnish) und/oder anwendungsseitiges Caching, um die Belastung des Servers zu verringern.
- Rat: Ein gutes Caching-System kann die Leistung einer Website erheblich verbessern.
Regelmäßige Aktualisierungen
Stellen Sie sicher, dass alle verwendeten Serverkomponenten und Bibliotheken auf dem neuesten Stand sind, um von Leistungsverbesserungen und Sicherheitskorrekturen zu profitieren.
- Rat: Halten Sie Ihre Software auf dem neuesten Stand, um Sicherheitslücken und Kompatibilitätsprobleme zu vermeiden.
Mit diesen Konfigurationen und Tipps sollten Sie in der Lage sein, den PHP-FPM-Speicher effektiv zu verwalten und die Leistung Ihrer Website zu verbessern.