OPcache
Der OPcache ist eine Erweiterung von PHP. Diese ist seit PHP-Version 5.5 Teil des Cores.
PHP-Code wird normalerweise zur Laufzeit kompiliert. Wird eine auf PHP-basiert Webseite aufgerufen, so wird der PHP-Code gelesen und durch den PHP-Interpreter in vorkompilierte Code (sogenannten Bytecode) umgewandelt.
Der OPcache wiederum speichert den vorkompilierten Bytecode im Arbeitsspeicher oder auf der Festplatte und verhindert dadurch, dass Skripte bei jedem Request geladen und geparst werden müssen. Dies hat eine Performance-Steigerung zur Folge.
Konfiguration
Wie bereits oben erwähnt ist der OPcache ein Feature im Core von PHP. Es muss somit keine zusätzliche Bibliothek installiert werden.
Um ihn verwenden zu können muss auf dem Server ein Verzeichnis für den OPcache angelegt werden und in der php.ini-Datei wird mit folgendem Konfigurations-Befehl der OPCache aktiviert.
; Determines if Zend OPCache is enabled
opcache.enable=1
Es gibt noch viele weiter Konfigurations-Werte von OPcache in der php.ini-Datei. Ein Beispiele dafür wäre:
- opcache.memory_consumption=128: die Angabe der reservierten Speichergröße im Arbeitsspeicher in Megabyte
Es handelt sich somit um eine Server-Konfiguration, die bei allen Hostern unterschiedlich ist. Um den OPcache nutzen zu können, setzen Sie sich mit Ihrem Hoster in Verbindung oder lesen sie in der Dokumentation des Hosters nach (RTFM =D). Bei manchen ist dieser zum Beispiel schon automatisch aktiviert.
OPcache bei unterschiedlichen Hostern
- OPcache aktivieren bei jweiland.net: https://jweiland.net/know-how/technik/opcache-aktivieren.html
- Siteground: bei Siteground ist der OPcache automatisch aktiviert: https://www.siteground.com/blog/php-7-with-opcache/
- bei all-inkl ist dazu der Tarif All-inkl Business oder All-inkl Premium notwendig. Der OPcache ist nicht standardmäßig aktiviert: https://all-inkl.com/wichtig/glossar/
Wie kann die Funktionalität vom OPcache generell überprüft werden?
Ist der OPcache aktiviert und konfiguriert, muss die Website ein paar Mal aufgerufen werden. Navigiert man anschließend wieder am Server in das zuvor angelegte OPcache-Verzeichnis, sollten dort gecachte Inhalte zu finden sein.
Wichtigkeit in der Website-Speed-Optimierung
Die Aktivierung von OPcache kann bei großen Websites eine merkbare Verbesserung bringen. Bei allen anderen Websites fällt diese Optimierung jedoch eher unter die Kategorie „Zusatzaufgabe“. Es sollten daher zuerst alle anderen Optimierungs-Maßnehmen umgesetzt werden.
Quellen und weiterführende Links
- https://www.php.net/manual/de/intro.opcache.php
- https://www.ionos.de/digitalguide/websites/web-entwicklung/websites-beschleunigen-mit-php-7-und-opcache/
- https://www.php.net/manual/de/book.opcache.php
- Techgrube
- WPRocket