… nicht nur – sondern auch
‚Zend OpCache‘

Im Heute mit HTTP/2  und PHP 7 geht es hier des Themas um den OpCache. Daher sind die Messwerte zu den Abfragen am Server relevant. Somit geht es bei den Messwerten von Abfragen und deren Auslieferung nur mehr um 10tel sec bis 100stel sec. Zu prüfen ist das mit Benchmark-Tests*. Das sind so Tools wie Pagespeed Insights, Pingdom und GTmetrix auch einfach mit ‚Google Crome‘ und dem Lighthouse.

* Ein Test unter Verwendung eines Maßstab (Benchmarks) zur Bewertung der Leistung einer Website bzw. eines Computersystems.

Info zum Cache: Ein WP-Plug-in wie Cache Enabler cacht vor allem die Daten auf der Website (Texte, evtl. Bilder) – der opCache agiert auf Serverebene und cacht im Arbeitsspeicher die PHP-Scripte. S. auch CDN und Scripts.

Erfahrungswert

Support-bplaced: „Bei bplaced ist schon seit PHP 5.5 ‚Zend OpCache‘ in Applikation. Die Erfahrungen mit ‚OpCache‘ haben dazu beigetragen, dass dieser nun in Verbindung mit PHP 7 optimal im Einsatz ist. Damit ist mit bplaced bei allen PHP-Versionen ‚Zend OpCache‘ aktiviert. Vollautomatisch und hiermit ist manuelles anlegen von OpCache-Verzeichnissen oder Löschen des Cache nicht erforderlich.“

Anmerkung: Auch die GZIP-Komprimierung ist bei bplaced automatisiert. Daher ist dessen in der htaccess-Datei kein Eintrag erforderlich. Wer die Komprimierung abgeschaltet braucht, gilt folgender Hinweis, der in das Forum bplaced leitet, im Titel gzip-Komprimierung von PHP-Output abschaltet

Recherche Zend Engine OpCache

OPcache erhöht die PHP-Performance durch das Speichern des vorkompilierten Bytecodes im Arbeitsspeicher. Dadurch wird das Laden und Parsen der Scripte bei jedem Request vermieden.

Ein ‚Opcode-Cache‘ ist ein System, um das Ergebnis der PHP-Code-Kompilierung* in Bytecode zwischenzuspeichern.

* Das Übersetzen des Quelltextes einer Programmiersprache in ein ausführbares Programm ergeht die Bezeichnung ‚kompilieren‘ (engl.: to compile). Ein solches Übersetzungs-Programm heißt Compiler.

Um die vielen leistungsstarken PHP-Funktionen zu nutzen, ist der PHP-Interpreter* auf dem Webservers installiert. Der PHP-Interpreter wandelt die Bytecodes in Befehle für Mikroprozessoren. Hiermit sind die Bytecodes für eine virtuelle Maschine geeignet. Eine virtuelle Machine ist auch ‚Zend Engine‘ und erzeugt den Mikroprozessor-Code. Hiermit ist dieser für CPU-Architekturen und Betriebssysteme einsetzbar.

* Ein Interpreter (Interpretierer) ist ein Programm, das einen Quellcode einliest, analysiert und ausführt. Demzufolge übersetzen die Assemblern oder Compilern auf dem System direkt in einen ausführbaren Mikroprozessor-Code.

Der Bytecode wird nach der Ausführung des Scripts verworfen und ist jedem Aufruf neu zu generieren. Die neue Generierung dauert länger als die Ausführung des Scripts. Darum gibt es den in PHP fest integrierten OpCache (Opcode-Cache). Der optimiert den Bytecode und speichert diesen für kommende Aufrufe. Obgleich wurde bis zur PHP-Versionen 7.0 der OpCache im Arbeitsspeicher abgelegt, welches für Shared-Hosting-Servern nicht real zumindest nur diffizil einzusetzen war. Somit war OpCache nur mit vServer oder Rootserver zu nutzen. In Folge PHP 7.0 ist der Bytecode vom OpCache auch in Dateien abzuspeichern und somit auf Shared-Hosting-Servern zu nutzen.

  • Bspw. im Shared-Web-Hosting bplaced ist das mit dem OpCache dabei. Folgend die Fachbegriffe zum OpCache, das sind die Optionen am Server und deren Bedeutungen; hierzu ist auch zu Überprüfen ob OPcache in Nutzung ist. Dies alles ist in Übersicht im Titel PHP-Seiten wie WordPress mit OPCache beschleunigen.

Die gesamt Ladezeit einer Webseite

„Die Gesamtladezeit einer Webseite ergeht den Faktoren wie Größe und Anzahl der Bilder, CSS- und JavaScript-Dateien.“

  • Mit dem OpCache lassen sich die PHP-Anwendungen um etwa 50% beschleunigen und das reduziert hiermit nur die Ausführungszeit für PHP-Scripte auf dem Webserver.