Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets
Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets
Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets
Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets
Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets
Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets
Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets
Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets
Dies ist ein Artikel, der die Vorteile und die Funktionsweise von Zend OpCache beschreibt. Der Artikel hebt hervor, dass die tatsächliche Leistungssteigerung durch den Einsatz von OpCache von verschiedenen Faktoren wie der Art der Anwendung und der Serverkonfiguration abhängt, und dass nicht gesagt werden kann, dass PHP-Anwendungen generell um 50 % beschleunigt werden können. Es wird auch erklärt, dass OpCache nicht nur die Ausführungszeit von PHP-Skripten verkürzt, sondern auch den Speicherverbrauch des Servers optimiert.
Wenn du eine Website betreibst, weißt du wahrscheinlich, dass die Ladezeit ein wichtiger Faktor für das Nutzererlebnis ist. Je schneller deine Website lädt, desto zufriedener sind deine Besucher. Eine Möglichkeit, die Ladezeit deiner Website zu verkürzen, besteht darin, OpCache zu verwenden.
OpCache ist eine Erweiterung für PHP, die den Code, den PHP ausführt, zwischenspeichert. Dadurch muss PHP den Code nicht bei jeder Anfrage neu analysieren und kompilieren, was Zeit spart. OpCache "kann" die Ladezeit deiner Website um bis zu 50 % reduzieren.
Bei der Nutzung von Zend OpCache sind die Messwerte der Serverabfragen relevant. Mit Zend OpCache reduziert sich die Dauer der Abfragen und der Auslieferung auf Zehntel- bis Hundertstelsekunden. Diese Werte lassen sich mit Benchmark-Tests* wie Pagespeed Insights, Pingdom und GTmetrix prüfen. Auch 'Google Crome' und das Lighthouse-Tool bieten entsprechende Funktionen.
* Ein Test unter Verwendung eines Maßstab (Benchmarks) zur Bewertung der Leistung einer Website bzw. eines Computersystems.
Ein Cache-Plug-in wie Cache Enabler speichert vor allem die Daten auf der Website, wie Texte und Bilder. Zend OpCache agiert dagegen auf Serverebene und speichert PHP-Skripte im Arbeitsspeicher. Weitere Informationen zum Thema Cache finden sich auch unter CDN und Scripts.
Recherche Zend Engine OpCache
Ein Opcode-Cache ist ein System, das den Bytecode, der bei der Kompilierung* des PHP-Quellcodes entsteht, zwischenlagert.
OPcache verbessert die Performance von PHP, indem es den vorkompilierten* Bytecode im Arbeitsspeicher speichert und somit das Laden und Parsen der Skripte bei jedem Request vermeidet.
*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.
Interpreter
Ein Interpreter ist ein Programm, das den Quellcode einliest, analysiert und ausführt. Im Gegensatz dazu übersetzen Assembler oder Compiler den Code auf dem System direkt in einen ausführbaren Mikroprozessor-Code.
Um die leistungsstarken Funktionen von PHP nutzen zu können, ist der PHP-Interpreter auf dem Webserver installiert. Der Interpreter wandelt den Bytecode in Befehle für Mikroprozessoren um, die von einer virtuellen Maschine namens Zend Engine erzeugt werden. Dadurch ist der Code für verschiedene CPU-Architekturen und Betriebssysteme lesbar bzw. einsetzbar.
Die Funktion Zend Engine OpCache
Nach der Ausführung eines Scripts wird der Bytecode verworfen und bei jedem Aufruf neu generiert. Diese Generierung dauert länger als die Ausführung des Scripts selbst. Aus diesem Grund gibt es in PHP den fest integrierten OpCache (Opcode-Cache), der den Bytecode optimiert und für zukünftige Aufrufe speichert. Früher wurde der OpCache bis zur PHP-Version 7.0 ausschließlich im Arbeitsspeicher abgelegt, was für Shared-Hosting-Server schwierig oder sogar unmöglich war. Mit der Einführung von PHP 7.0 ist es nun möglich, den Bytecode des OpCache auch in Dateien zu speichern und somit auf Shared-Hosting-Servern zu nutzen.
Begriffe zum OpCache
Einige weitere Begriffe, die eng mit OpCache verbunden sind, sind:
- Opcode: Ein Opcode ist eine Abkürzung für "Operation Code" und bezieht sich auf die grundlegenden Befehle, die von einem Computer ausgeführt werden können. In PHP werden Opcodes vom PHP-Interpreter generiert und von OpCache zwischengespeichert.
- Cache-Hit: Ein Cache-Hit tritt auf, wenn OpCache eine angeforderte PHP-Datei im Cache findet und sie aus dem Cache laden kann, anstatt sie neu zu kompilieren. Dadurch wird die Ausführungsgeschwindigkeit der Anwendung verbessert.
- Cache-Miss: Ein Cache-Miss tritt auf, wenn OpCache eine angeforderte PHP-Datei nicht im Cache findet und sie neu kompilieren muss. Dies kann zu einem Leistungsverlust führen, da die Kompilierung mehr Zeit und Ressourcen erfordert.
- Laufzeit-Cache: Ein Laufzeit-Cache ist ein Cache, der während der Laufzeit einer Anwendung erstellt und aktualisiert wird. OpCache ist ein Beispiel für einen Laufzeit-Cache, da er PHP-Code zwischenspeichert, während die Anwendung ausgeführt wird.
- OpCache-Einstellungen: OpCache-Einstellungen sind Konfigurationseinstellungen, die in der php.ini-Datei definiert sind und die Funktionsweise von OpCache beeinflussen können. Beispiele für OpCache-Einstellungen sind "opcache.enable", "opcache.memory_consumption" und "opcache.max_accelerated_files".
Erfahrungswert
zum Zend OpCache
Verbesserung der PHP-Performance durch Zend OpCache: Unsere Erfahrungen und Ergebnisse.
In Shared-Web-Hosting-Diensten wie bplaced ist der Einsatz von OpCache möglich. Im Folgenden sind die relevanten Fachbegriffe zum OpCache aufgeführt, einschließlich ihrer Optionen am Server und deren Bedeutungen. Es sollte überprüft werden, ob OpCache bereits in Nutzung ist. Eine Übersicht darüber, wie PHP-Seiten wie WordPress mit OpCache beschleunigt werden können, ist im Titel 'PHP-Seiten wie WordPress mit OPCache beschleunigen' enthalten.
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 ab 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."
Hinweis: Die GZIP-Komprimierung ist bei bplaced automatisiert, weshalb kein Eintrag in der .htaccess
-Datei erforderlich ist. Sollte jemand die Komprimierung abschalten wollen, findet sich im bplaced-Forum unter dem Titel 'GZIP-Komprimierung von PHP-Output abschalten' ein entsprechender Hinweis.
Die gesamte Ladezeit einer Webseite
Die Gesamtladezeit einer Webseite ergeht den Faktoren wie Größe und Anzahl der Bilder, CSS- und JavaScript-Dateien.
Weitere Faktoren können beispielsweise die Serverantwortzeit, die Netzwerkgeschwindigkeit und die Komprimierung von Dateien sein.
Aktualisiert im Jahr 2023-April