Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
| apache:php-fpm [2026/07/03 12:21] – [Log Errors] gerald | apache:php-fpm [2026/07/03 13:55] (aktuell) – [Zu wenige childs im Error Log] gerald | ||
|---|---|---|---|
| Zeile 206: | Zeile 206: | ||
| </ | </ | ||
| + | ===== Optimale Konfiguration für meinen Server ===== | ||
| + | |||
| + | mit deinen Hardware‑Daten (4 Kerne / 8 Threads, 32 GB RAM, hoher Bild‑Traffic, | ||
| + | |||
| + | Das hier ist keine generische Empfehlung, sondern exakt auf deine CPU, deinen RAM, deine Last, deinen Shop und deine Bildgenerierung abgestimmt. | ||
| + | |||
| + | Takeaway: Deine optimale PHP‑FPM‑Konfiguration | ||
| + | |||
| + | Du solltest 40–60 Worker fahren, dynamic nutzen, OPcache hochdrehen, Slowlog aktivieren, und pm.max_requests setzen, um Memory‑Leaks aus Legacy‑Code abzufangen. | ||
| + | |||
| + | 🧠 Warum genau diese Werte? | ||
| + | |||
| + | * CPU: 4 Kerne / 8 Threads → ideal für 40–60 FPM‑Worker | ||
| + | * RAM: 32 GB → genug für 60 Worker à 50–120 MB | ||
| + | |||
| + | * Lastprofil: viele Bilder, viele Domains, viele parallele Requests | ||
| + | * Legacy‑Code: | ||
| + | * Shop: viele AJAX‑Requests → hohe Parallelität nötig | ||
| + | * Bots: mod_evasive entschärft → FPM muss mehr abfangen | ||
| + | |||
| + | 🔥 Deine optimale PHP‑FPM‑Konfiguration (final) | ||
| + | |||
| + | (Du kannst das 1:1 übernehmen.) | ||
| + | |||
| + | < | ||
| + | < | ||
| + | [www] | ||
| + | |||
| + | ; --- Prozessmanager --- | ||
| + | pm = dynamic | ||
| + | |||
| + | ; --- Worker-Anzahl --- | ||
| + | pm.max_children = 60 | ||
| + | pm.start_servers = 10 | ||
| + | pm.min_spare_servers = 10 | ||
| + | pm.max_spare_servers = 20 | ||
| + | |||
| + | ; --- Memory-Leaks abfangen --- | ||
| + | pm.max_requests = 800 | ||
| + | |||
| + | ; --- Logging --- | ||
| + | php_admin_flag[log_errors] = on | ||
| + | php_admin_value[error_log] = / | ||
| + | |||
| + | ; --- Slowlog --- | ||
| + | request_slowlog_timeout = 4s | ||
| + | slowlog = / | ||
| + | |||
| + | ; --- Zeitlimits --- | ||
| + | request_terminate_timeout = 60s | ||
| + | |||
| + | ; --- Ressourcen --- | ||
| + | rlimit_files = 65535 | ||
| + | rlimit_core = 0 | ||
| + | |||
| + | ; --- Sicherheit --- | ||
| + | security.limit_extensions = .php | ||
| + | </ | ||
| + | 🔥 Optimiertes OPcache (für deinen großen Legacy‑Code) | ||
| + | |||
| + | < | ||
| + | |||
| + | < | ||
| + | opcache.enable=1 | ||
| + | opcache.enable_cli=0 | ||
| + | opcache.memory_consumption=512 | ||
| + | opcache.interned_strings_buffer=64 | ||
| + | opcache.max_accelerated_files=40000 | ||
| + | opcache.validate_timestamps=1 | ||
| + | opcache.revalidate_freq=2 | ||
| + | opcache.fast_shutdown=1 | ||
| + | opcache.save_comments=1 | ||
| + | </ | ||
| + | Warum so groß? | ||
| + | |||
| + | Dein Code ist umfangreich | ||
| + | |||
| + | Viele Domains teilen sich denselben Pool | ||
| + | |||
| + | Viele Includes, viele Engines, viele Legacy‑Dateien | ||
| + | |||
| + | Bildgenerierung → viele Funktionsaufrufe | ||
| + | |||
| + | 512 MB OPcache ist für 32 GB RAM absolut sinnvoll | ||
| + | |||
| + | 📈 Was du dadurch bekommst | ||
| + | |||
| + | Keine FPM‑Staus mehr | ||
| + | |||
| + | Keine „Seite funktioniert nicht“ mehr | ||
| + | |||
| + | Keine AH01071‑Fehler mehr | ||
| + | |||
| + | Legacy‑Code läuft stabiler | ||
| + | |||
| + | Bildgenerierung schneller | ||
| + | |||
| + | Shop reagiert schneller | ||
| + | |||
| + | Weniger CPU‑Last durch OPcache | ||
| + | |||
| + | Weniger Memory‑Leaks durch pm.max_requests | ||
| + | |||
| + | 🔍 Wie du prüfst, ob alles sauber läuft | ||
| + | |||
| + | FPM‑Log: | ||
| + | |||
| + | < | ||
| + | → Wenn nichts Neues kommt: perfekt. | ||
| + | |||
| + | Slowlog: | ||
| + | |||
| + | < | ||
| + | → Zeigt dir echte Problemstellen im Code. | ||
| + | |||
| + | Live‑Status: | ||
| + | |||
| + | < | ||
| + | 🧠 Optional: Separate Pools pro Domain | ||
| + | |||
| + | Fazit | ||
| + | Mit deinen Hardware‑Daten konnte ich die Konfiguration jetzt exakt optimieren. | ||