OPcache
Wie der OPcache kompilierten PHP-Code im Arbeitsspeicher hält, was das bringt und wie er sich vom Seiten-Cache unterscheidet.
PHP ist eine Skriptsprache: Der Quelltext wird bei jedem Aufruf gelesen und in eine maschinennähere Zwischenform übersetzt, den Opcode. Der OPcache legt dieses Ergebnis im Arbeitsspeicher ab, sodass die Übersetzung beim nächsten Aufruf entfällt.
Was der OPcache ausmacht
WordPress besteht aus mehreren tausend PHP-Dateien, dazu kommt jedes Plugin. Ohne OPcache wird ein großer Teil davon bei jedem Seitenaufruf neu übersetzt. Die Entwickler von PHP nennen das eine der wirksamsten Einstellungen überhaupt, und sie ist seit PHP 5.5 an Bord.
Nicht zu verwechseln mit dem Seiten-Cache
Drei Ebenen, die oft durcheinandergehen:
- OPcache speichert übersetzten Programmcode. Er spart Rechenzeit, das Skript läuft aber weiterhin.
- Object-Cache speichert Ergebnisse von Datenbankabfragen. Er spart Abfragen.
- Seiten-Cache speichert fertiges HTML. Er spart den kompletten Durchlauf.
Der Seiten-Cache bringt am meisten, greift aber nur bei Seiten, die für alle gleich aussehen. OPcache wirkt immer, auch im eingeloggten Zustand und im Admin-Bereich.
Worauf du beim OPcache achten musst
Nach einem Deployment muss der OPcache verworfen werden, sonst läuft weiter der alte Code. Bei WordPress-Updates übernimmt das die Umgebung, bei eigenen Skripten hilft opcache_invalidate().
Siehe auch