PHP-FPM & MariaDB: WordPress-Server richtig optimieren

ChatGPT erklärt 😀

Wenn du eine WordPress-Seite betreibst, kennst du das vielleicht: Du installierst ein paar Plugins, vielleicht ein Cache-Plugin und plötzlich wird die Seite langsamer. Oder bei Traffic-Spitzen reagiert der Server träge und manchmal stürzt er sogar ab.

Keine Sorge: Mit gezielten Einstellungen für PHP-FPM, MariaDB und Cache kannst du die Stabilität und Geschwindigkeit deiner Seite massiv verbessern. Ich erkläre Schritt für Schritt, wie das funktioniert. Und welche Fallstricke es gibt und warum deine Website danach praktisch nie abstürzt.

1. Warum PHP-FPM so wichtig ist

PHP-FPM (FastCGI Process Manager) führt PHP-Skripte aus. Bei jedem Besuch deiner WordPress-Seite passiert Folgendes:

  • PHP fragt die Datenbank ab
  • Plugins werden ausgeführt
  • HTML wird für den Browser generiert

Das Problem:
Bei vielen gleichzeitigen Besuchern startet der Server zu viele PHP-Prozesse. Das kann den RAM sprengen und war früher ein häufiger Grund für Abstürze.

Lösung: Begrenze die Anzahl der PHP-Prozesse und den Speicher pro Prozess.

2. PHP-FPM richtig konfigurieren

Die wichtigsten Einstellungen:

EinstellungBedeutung
pm.max_childrenmaximale Anzahl PHP-Prozesse gleichzeitig
pm.start_serversProzesse, die direkt beim Start laufen
pm.min_spare_serversminimale Anzahl inaktiver Prozesse
pm.max_spare_serversmaximale Anzahl inaktiver Prozesse
memory_limitRAM pro PHP-Prozess

Beispiel für einen 4 GB RAM Server:

pm = dynamic
pm.max_children = 10
pm.start_servers = 3
pm.min_spare_servers = 2
pm.max_spare_servers = 5
php_admin_value[memory_limit] = 256M

💡 Faustregel:
max_children × memory_limit ≤ verfügbarer RAM
10 × 256 MB = 2,5 GB → passt gut auf 4 GB RAM.

3. MariaDB optimieren

WordPress speichert Inhalte in MariaDB. Jede Seitenanfrage bedeutet Datenbankabfragen. Ohne Optimierung liest MariaDB jede Anfrage von der Festplatte – das ist langsam.

Lösung: InnoDB-Buffer-Pool im RAM.

Beispiel für 4 GB RAM:

innodb_buffer_pool_size = 1G
innodb_buffer_pool_instances = 1

💡 Vorteil: Die meisten Datenbankabfragen werden aus dem RAM bedient → viel schnellere Seiten.

4. Zusammenspiel PHP-FPM + MariaDB

Optimiert bedeutet:

  • PHP startet nur so viele Prozesse wie RAM erlaubt
  • MariaDB liefert Daten blitzschnell aus dem RAM

Besucher sehen schnelle Ladezeiten, selbst bei Traffic-Spitzen.

Warum dein Server jetzt stabil ist:

  • Begrenzte PHP-Prozesse → keine RAM-Explosion
  • Memory-Limit → Prozesse belegen nur festen RAM
  • Buffer Pool → Datenbankzugriffe blitzschnell
  • Cache → viele Seiten werden gar nicht erst über PHP generiert

5. Caching: Die dritte Optimierungssäule

WordPress generiert Seiten dynamisch – PHP muss ständig Datenbankabfragen machen.

Cache-Lösungen: WP Super Cache oder Redis

  • Speichern fertige Seiten im RAM oder als statische Dateien
  • Besucher rufen die fertigen Seiten auf → PHP wird gar nicht benötigt
  • Last auf PHP-FPM und MariaDB sinkt drastisch

💡 Tipp: Preload nur die neuesten 200–500 Beiträge, sonst erzeugt das System tausende Cache-Dateien → unnötiger RAM-Verbrauch.

6. PHP memory_limit richtig wählen

Faustregel:
max_children × memory_limit ≤ freier RAM

Beispiel für 4 GB RAM:

max_childrenmemory_limitRAM-Bedarf
5128 MB640 MB
10256 MB2,5 GB ✅
10512 MB5 GB ❌ zu viel

256 MB ist ein guter Wert für 4 GB RAM.

7. Monitoring: nie ohne Kontrolle

Selbst die beste Konfiguration braucht Überwachung:

  • htop / top → Prozesse und RAM in Echtzeit
  • Netdata / Grafana → Langzeitüberwachung, Traffic-Spitzen erkennen
  • Slow-Logs (PHP & MariaDB) → langsame Queries & Skripte identifizieren

8. Worst-Case

Warum das System trotzdem langsamer werden kann:

  • Schlechtes Plugin → Endlosschleifen, zu große Datenbankabfragen
  • Traffic-Spikes ohne Cache → PHP-FPM erreicht max_children → Requests warten
  • RAM zu klein → MariaDB liest von Festplatte → langsame Seiten

💡 Merke: Dein Server stürzt nicht ab, sondern wird höchstens kurzzeitig langsamer. Das ist kontrolliertes Bremsen statt Chaos.

9. Zusammenfassung & Experten-Tipp

Mit diesen Einstellungen hast du:

  • PHP-FPM dynamisch + max. 10 Prozesse
  • Memory-Limit 256 MB
  • MariaDB Buffer Pool 1 GB, 1 Instanz
  • Caching aktiv

✅ Server bleibt stabil, schnell und skalierbar
✅ Risiko von Abstürzen oder RAM-Explosionen stark reduziert
✅ Traffic-Spitzen elegant abgefangen

Experten-Tipp: Beobachte Logs in den ersten Wochen → Feinjustierung je nach Plugins ist normal.

10. Fazit für Anfänger

Auch wenn es zunächst kompliziert aussieht, sind PHP-FPM + MariaDB + Cache die Schlüssel für einen schnellen WordPress-Server:

  • PHP skaliert kontrolliert bei Traffic-Spitzen
  • MariaDB liefert Daten blitzschnell aus dem RAM
  • Cache reduziert unnötige PHP- & Datenbankabfragen

Dein Server stürzt praktisch nie ab und das selbst bei 10 gleichzeitigen Besuchern. Du hast eine solide und skalierbare Basis für Wachstum.

An extreme close-up of colorful programming code on a computer screen, showcasing development and software debugging.

Mehr aus der Kategorie Modular 😀

0
Nach oben scrollen