OPCache: Schnellere PHP-Websites ohne zusätzliche Konfiguration.
OPCache ist beim Domaintechnik Webhosting automatisch aktiv.
PHP-basierte Websites können dadurch effizienter verarbeitet und schneller ausgeliefert werden, und das ohne Installation, Plugin oder zusätzliche Einrichtung. OPcache ist beim Webhosting von Domaintechnik standardmäßig aktiviert.
Das Wichtigste auf einen Blick
Was ist OPcache?
Viele Websites und Content-Management-Systeme wie WordPress, Joomla, TYPO3 oder PrestaShop basieren auf der Programmiersprache PHP.
Normalerweise muss PHP den Programmcode einer PHP-Datei zunächst verarbeiten und kompilieren, bevor er ausgeführt werden kann. Werden dieselben Dateien bei vielen Seitenaufrufen immer wieder benötigt, entsteht dadurch zusätzlicher Rechenaufwand.
OPcache speichert bereits kompilierten PHP-Code zwischen. Bei weiteren Seitenaufrufen kann PHP auf diesen vorbereiteten Code zurückgreifen und muss ihn nicht erneut vollständig kompilieren.
Das reduziert die benötigte Rechenzeit und kann die Ladezeit einer Website deutlich verbessern.
Vereinfacht dargestellt
Ohne OPcache:
- PHP-Datei laden
- Quellcode analysieren
- Quellcode kompilieren
- Programm ausführen
Mit OPcache:
- Bereits kompilierten PHP-Code aus dem Arbeitsspeicher laden
- Programm ausführen
Der ursprüngliche PHP-Code und die Inhalte der Website werden durch OPcache nicht verändert.
OPcache bei Domaintechnik automatisch aktiviert
Auf den Webhosting-Servern von Domaintechnik ist OPcache standardmäßig aktiviert und für die unterstützten PHP-VersionenPHP-Versionen Frei wählbar mit dem Modul Entwicklung im Hosting Control Panel vorkonfiguriert.
Für Sie bedeutet das:
- keine zusätzliche Installation
- keine Aktivierung im Control PanelControl-Panel Unser Control Panel erleichtert Ihnen die Verwaltung Ihres Webhostings enorm. Statt sich mit komplexen technischen Befehlen oder Programmierkenntnissen auseinanderzusetzen, können Sie alle wichtigen Einstellungen einfach per Mausklick vornehmen.
- keine Anpassung Ihrer Website
- keine zusätzliche Konfiguration
Bestehende PHP-Websites können automatisch von OPcache profitieren.
Wie stark verbessert OPcache die Ladezeit?
Wie groß der Performancegewinn ist, hängt von der jeweiligen Website ab. Faktoren wie das verwendete CMS, Plugins, Themes, Datenbankabfragen und der Aufbau der Website spielen dabei eine wichtige Rolle.
Bei unseren Messungen mit unterschiedlichen Websites sank die durchschnittliche Ladezeit nach der Aktivierung von OPcache von rund 2 Sekunden auf etwa 1,25 Sekunden. Das entspricht einer Reduktion um ungefähr 37,5 %.
Bei einzelnen Websites kann der Unterschied größer oder kleiner ausfallen. OPcache beschleunigt dabei vor allem die Verarbeitung PHP-intensiver Anwendungen.
Was OPcache nicht beschleunigt
OPcache optimiert ausschließlich die Verarbeitung von PHP-Code. Andere mögliche Ursachen langsamer Websites wie langsame Datenbankabfragen, externe Inhalte, umfangreiche CSS- und JavaScript-Dateien oder große Bilder werden dadurch nicht unmittelbar verbessert.
OPcache, Object Cache und Seiten-Cache im Vergleich
OPcache wird häufig mit anderen Cache-Arten verwechselt. Die verschiedenen Lösungen setzen jedoch an unterschiedlichen Stellen an und können sich gegenseitig ergänzen.
| Cache-Art | Gespeicherte Daten | Aufgabe |
|---|---|---|
| OPcache | kompilierter PHP-Bytecode | beschleunigt die Ausführung von PHP-Dateien |
| Object Cache | häufig benötigte Anwendungs- und Datenbankinformationen | reduziert wiederkehrende Datenbankabfragen |
| Seiten-Cache | fertig erzeugte HTML-Seiten | vermeidet die erneute Verarbeitung vollständiger Seiten |
| Browser-Cache | Bilder, CSS, JavaScript und andere Dateien | reduziert erneute Downloads im Browser |
OPcache arbeitet auf Ebene der PHP-Ausführung. Ein WordPress-Object-Cache optimiert dagegen häufig benötigte Daten, während ein Seiten-Cache bereits vollständig erzeugte Seiten speichert.
Diese Cache-Arten schließen einander nicht aus. Sie können gemeinsam eingesetzt werden und unterschiedliche Bereiche einer Website beschleunigen.
Achtung bei einer eigenen php.ini: PHP-Version und Erweiterungsverzeichnis müssen zusammenpassen
Domaintechnik stellt für die angebotenen PHP-Versionen eine passende serverseitige Konfiguration bereit. Verwenden Sie jedoch eine eigene php.ini, können darin enthaltene Einstellungen die Standardkonfiguration ergänzen oder überschreiben.
Besondere Vorsicht ist notwendig, wenn Ihre php.ini folgende Angaben enthält:
- ein eigenes PHP-Erweiterungsverzeichnis über
extension_dir - einen festen Pfad zu
opcache.so - feste Pfade zu anderen PHP-Erweiterungen
- eine ausdrückliche Deaktivierung über
opcache.enable=0
Wenn Sie die PHP-Version Ihrer Website ändern, können fest eingetragene Pfade anschließend auf das Erweiterungsverzeichnis der vorherigen PHP-Version verweisen. OPcache oder andere PHP-Erweiterungen werden dann möglicherweise nicht mehr geladen.
Eine typische Fehlermeldung lautet beispielsweise:
Warning: Failed loading Zend extension 'opcache.so'
In diesem Fall sollten Sie überprüfen, ob das in der php.ini konfigurierte Erweiterungsverzeichnis zur verwendeten PHP-Version passt.
Wichtig nach einem PHP-Versionsänderung
Wenn Sie eine eigene php.ini verwenden, kontrollieren Sie nach jeder Änderung der PHP-Version:
- Ist ein eigenes
extension_direingetragen? - Enthält die Datei einen festen Pfad zu
opcache.so? - Verweisen weitere Erweiterungen auf versionsabhängige Verzeichnisse?
- Wird OPcache durch
opcache.enable=0deaktiviert? - Erscheinen nach dem Wechsel PHP-Warnungen oder Fehler?
Sind keine individuellen Einstellungen erforderlich, sollten veraltete oder unnötige Einträge aus der eigenen php.ini entfernt werden.