PHP 8 Performance: spürbare Geschwindigkeitssteigerung erreichen
PHP 8 brachte echte Sprünge bei Performance und Entwicklerproduktivität. Aber die Defaults holen das Potenzial nicht heraus. Mit der richtigen Konfiguration lassen sich bei rechenintensiven Workloads regelmäßig deutliche Steigerungen erreichen — ganz ohne Umbau der Anwendung.
JIT richtig nutzen
Der Just-In-Time-Compiler ist das Killer-Feature von PHP 8. Falsch konfiguriert kann er die Performance aber sogar verschlechtern.
; php.ini — sinnvolle Defaults
opcache.enable=1
opcache.jit_buffer_size=256M
opcache.jit=1235 ; tracing JIT, gut für CPU-lastige Logik
; opcache.jit=1254 ; für Web-Apps mit vielen Function Calls
JIT bringt am meisten bei rechenintensivem Code — Bildverarbeitung, Berechnungen, Parsing. Bei klassischen I/O-gebundenen Web-Requests ist der Effekt kleiner; dort zählt OPcache mehr.
OPcache & Preloading
opcache.memory_consumption=256
opcache.max_accelerated_files=20000
opcache.validate_timestamps=0 ; in Produktion: Cache nicht ständig prüfen
opcache.preload=/var/www/preload.php
Preloading lädt Framework-Klassen einmal beim Start in den Speicher — jeder Request startet damit bereits "warm".
Messen statt raten
Jede Optimierung gehört verifiziert. Ein einfacher Benchmark zeigt, ob die JIT-Einstellung für den konkreten Workload etwas bringt:
$start = hrtime(true);
// ... Workload ...
printf("%.2f ms\n", (hrtime(true) - $start) / 1e6);
Die Regel bleibt: erst messen, dann konfigurieren, dann erneut messen. Pauschale "Speed-Tipps" aus dem Internet schaden öfter, als sie helfen.