Joomla-Cache

Die Stärke eines CMS wie Joomla liegt in seiner Datenbank, die die gesamte Website und den Inhalt dynamisch macht. In puncto Performance ist diese Datenbankinfrastruktur jedoch die Achillesferse. Das Abrufen der Inhalte aus der Datenbank bei jedem Zugriff ist ein Leistungsengpass. Mit dem Joomla-Cache gibt es jedoch einen hervorragenden Mittelweg.

In diesem Artikel bieten wir die ultimative Anleitung zur Verwendung mehrerer Formen des Joomla-Cache, um die Leistung Ihrer Website sofort und hervorragend zu steigern.

{autotoc}

Was ist ein Cache?

Laut Wikipedia :

Ein Cache ist eine Hardware- oder Softwarekomponente, die Daten speichert, damit zukünftige Anfragen nach diesen Daten schneller bearbeitet werden können. Die im Cache gespeicherten Daten können das Ergebnis einer früheren Berechnung oder eine Kopie von an anderer Stelle gespeicherten Daten sein. Ein Cache getroffen tritt auf, wenn die angeforderten Daten in einem Cache gefunden werden können, während ein Cache vermissen tritt ein, wenn dies nicht möglich ist. Cache-Treffer werden durch Lesen der Daten aus dem Cache verarbeitet, was schneller ist als die Neuberechnung eines Ergebnisses oder das Lesen aus einem langsameren Datenspeicher. Je mehr Anfragen aus dem Cache verarbeitet werden können, desto schneller arbeitet das System.

Aber was bedeutet das im Hinblick auf Joomla?

Wenn ein Besucher auf Ihre Website zugreift, führt Joomla normalerweise eine Reihe von Abfragen in der Datenbank aus, um alle Informationen wie Menüs, Inhalte, Module und andere dynamische Inhalte abzurufen und im laufenden Betrieb darzustellen.

Wenn die Datenmenge in Ihrer Datenbank wächst oder Ihre Website mehr Besucher hat, verschlechtert sich die Leistung der gesamten Einrichtung. Selbst bei wenigen Benutzern kann die Leistung auf Shared Hosting langsam sein, unabhängig davon, ob Ihre Website viele Besucher hat oder nicht.

Wenn der Joomla-Cache verwendet wird, werden die Daten beim ersten Zugriff nicht immer wieder mit denselben Abfragen an die MySQL-Datenbank gesendet, sondern in lokalen Dateien (im Joomla-Cache-Verzeichnis) gespeichert. Nachfolgende Zugriffe rufen den Inhalt aus diesen Dateien ab, anstatt aus der Datenbank.

Dies liegt daran, dass das Lesen von Daten aus einer lokalen Datei um ein Vielfaches schneller ist als das Lesen aus einer Datenbank.

Das bedeutet, dass die gesamte Website nahezu sofort geladen wird und deutlich besser funktioniert. Ihre Website fühlt sich schneller an und kann mehr gleichzeitige Benutzer unterstützen.

So sieht das gesamte Konzept in einem Bild aus:

Caching-Workflow

Bitte beachten Sie, dass sich dies vom Browser-Caching unterscheidet. Browser-Caching wird vom Webserver empfohlen (aber vom lokalen Browser ausgeführt). Serverseitiges Caching hingegen ist das tatsächliche Caching der auf dem Webserver erstellten Ressourcen und HTML-Dateien.

Wenn Sie mehr darüber erfahren möchten, wie Sie Browser-Caching nutzen können, lesen Sie diesen Artikel Here.

Natürlich können Sie die Leistung NUR verbessern, wenn Sie auf eine schnellerer Hosting-Server. Schau es dir an unser InMotion Hosting VPS hier lesen.

So aktivieren Sie den Cache in Joomla

Caching ist eine Funktion, die im Joomla-Kern implementiert ist. Daher ist die Aktivierung des Joomla-Kerncaches sehr einfach.

Von dem Global Configuration, klicke auf System Tab, und auf der rechten Seite befindet sich die Cache-Einstellungen .

Klicken Sie auf das Dropdown-Menü und wählen Sie EIN – Konservatives Caching or EIN – Progressives Caching in den Cache-Einstellungen und geben Sie einen angemessenen Wert in Minuten ein. 60 Minuten sollten für die meisten Websites der Mindestwert sein.

Joomla-Cache aktivieren

Konservatives Caching ermöglicht Ihnen, anzugeben, dass bestimmte Module nicht zwischengespeichert werden (in den Einstellungen der Module selbst).

Progressives Caching überschreibt diese Einstellung und speichert alle Module immer im Cache. Wir selbst verwenden tendenziell konservatives Caching, um uns die Möglichkeit zu behalten, ein bestimmtes Modul nicht im Cache zu speichern.

Generell empfehlen wir einen längeren Zeitraum, typischerweise 240 Minuten (4 Stunden) oder sogar mehr. Sie können den Cache jederzeit leeren (oder zurücksetzen), wenn Sie ihn aktualisieren möchten.

Sobald Sie auf „Übernehmen“ klicken, wird das Joomla-Caching für Module und Komponenten aktiviert. diese Einstellung reicht nicht aus, wir haben noch einen Schritt vor uns! Wir möchten noch das Seiten-Caching aktivieren.

Um das Joomla-Seiten-Caching zu aktivieren, müssen Sie zu Erweiterungen > Plugins, suchen Sie nach Cache und klicken Sie auf System - Seitencache. Sie müssen sicherstellen, dass dieses Plugin aktiviert ist. Sie können auch den Browser-Caching aktivieren, indem Sie die Verwenden Sie das Browser-Caching Schalter.

Sie können auch bestimmte Menüelemente vom Caching ausschließen. Im Folgenden wird beispielsweise das Menü „Kontakt“ ausgeschlossen.

Aktivieren Sie das Joomla-Systemseiten-Cache-Plugin

Wenn Sie Seiten vom Caching ausschließen möchten, können Sie auf der Registerkarte „Erweitert“ jede URL angeben, die vom Caching ausgeschlossen werden soll. Sie müssen jede URL, die vom Caching ausgeschlossen werden soll, in einer separaten Zeile angeben.

Reguläre Ausdrücke werden ebenfalls unterstützt. Beispielsweise schließt about\-[az]+ alle URLs aus, die „about-“ enthalten, wie etwa „about-us“, „about-me“, „about-joomla“ usw., während /component/users/ alle URLs ausschließt, die /component/users/ enthalten.

Sobald Sie die Funktion aktiviert und gespeichert haben, sollten Sie eine deutlich verbesserte Ladezeit der Webseite feststellen.

Wenn Sie ein Tool zum Testen der Seitengeschwindigkeit verwenden, wie z. B. https://webpagetest.org/ Sie sollten einen deutlichen Unterschied feststellen, insbesondere wenn Sie auch das Browser-Caching aktiviert haben.

Insbesondere sollten Sie einen deutlichen Unterschied bei der Zeit bis zum ersten Byte bemerken:

collectiveray Webseiten-Leistungstest

 

Wenn Ihr Joomla-Host dies unterstützt, wie zum Beispiel das Hosting von CollectiveRay.com €XNUMX – Sie können auch Memcache aktivieren, um Ihre Joomla-Website noch schneller zu machen!

So löschen oder leeren Sie den Joomla-Cache

Wenn Sie den Joomla-Cache aktiviert haben, wird der Inhalt im Front-End Ihrer Site erst aktualisiert, wenn die Caching-Zeit gemäß Ihren Einstellungen abgelaufen ist. 

Was tun Sie also, wenn Sie den Cache zurücksetzen möchten? Dies ist ein ziemlich einfaches Verfahren. Gehen Sie einfach zu System > Cache leerenund klicken Sie auf „Alles löschen“. Dadurch wird der gesamte Joomla-Cache geleert und der Inhalt mit dem neuen Inhalt aktualisiert.

Sie können auch nur bestimmte Teile des Cache leeren, indem Sie das entsprechende Kontrollkästchen aktivieren und auf „Löschen“ klicken.

Joomla-Cache leeren

Alternatives Joomla Cache Plugin

Ein Problem, das wir mit dem nativen Joomla-Cache feststellen, ist, dass sich einzelne Seiten nicht zurücksetzen lassen. Bei Websites mit Hunderten oder sogar Tausenden von Seiten kann das Zurücksetzen des gesamten Caches bei jeder kleinen Änderung zum Engpass werden, insbesondere bei hohem Datenverkehr.

In diesem Fall empfehlen wir, sich für ein alternatives Joomla-Cache-Plugin zu entscheiden, mit dem Sie den Seitencache auf URL- oder Seitenebene zurücksetzen können.

Unser bevorzugtes alternatives Joomla-Cache-Plugin ist JotCache. Neben erweiterten Caching-Einstellungen können Sie den Cache auch aufwärmen (z. B. alle Seiten crawlen, sodass sie im Cache abgelegt werden, bevor ein Benutzer sie öffnet), den Cache nur einer einzelnen Seite leeren und bestimmte URLs oder ganze Komponenten vom Caching ausschließen. Beispielsweise können Sie Ihre Virtuemart-Komponente oder Ihr Benutzermodul/Ihre Benutzerkomponente vom Caching ausschließen.

Schauen Sie sich hier die erweiterten Einstellungen an:

Jotcache schließt URL aus

Und hier ist der Bildschirm, auf dem Sie den Cache nur einer einzelnen Seite zurücksetzen oder leeren können:

Jotcache-Komponentenverwaltungsansicht

Schauen Sie sich JotCache an

So aktivieren Sie Joomla Memcached

Eine unserer Fixierungen in der jüngeren Vergangenheit war die Fixierung darauf, dass unsere Site wahnsinnig schnell geladen wird – und da haben wir zum ersten Mal von Joomla Memcache(d) gehört.

Wenn dies von der Server-Infrastruktur unterstützt wird, aktivieren wir dies gerne. Beispielsweise sind einige unserer Websites auf SiteGround, lass dies aktiviert, da es einen schönen Geschwindigkeitsschub gibt. Übrigens gefällt uns der Server, der bei SiteGround. Standardmäßig verschieben Sie Ihre Website von einem günstigen Shared Hosting-Dienst zu SiteGround wird die Ladezeit der Site um mindestens 2 Sekunden verkürzt (ohne weitere Änderungen).

Das bedeutet, dass sie ihre Server sehr gut eingerichtet haben. Aber es gibt noch mehr, um Ihre Website schnell zu machen. Hier kommt Joomla Memcached ins Spiel.

Neben der Standardeinstellung, SiteGround bieten drei Cache-Ebenen, um Ihre Site schneller zu machen

  1. Statischer Cache - speichert Ihren statischen Inhalt (ähnlich wie ein CDN)
  2. Dynamischer Cache – Er erstellt Kopien der dynamischen Inhalte Ihrer Website und speichert diese im RAM des Servers. Dies erfordert ein eigenes Plugin für eine reibungslose Verbindung mit Ihrer Website und dem Server, auf dem sie gehostet wird.
  3. Die Joomla Memcached-Technologie beschleunigt Datenbankaufrufe, API-Aufrufe und die Seitendarstellung, indem sie Daten und Objekte im Speicher speichert, um die Anzahl der Datenbankabfragen zu reduzieren. SiteGround ist das einzige Unternehmen, das den Memcached-Algorithmus in einer gemeinsam genutzten Serverumgebung anwendet.

 

Das Tolle ist, dass Joomla standardmäßig Memcache unterstützt. Da dies jedoch einige Anpassungen erfordert, finden Sie es nicht unter den normalen Cache-Einstellungen in der globalen Konfiguration.

Wie Sie unten sehen können, sind die Joomla 3-Memcached-Einstellungen ausgeblendet (Sie haben unten keine Memcached-Option) und müssen durch eine kleine Änderung in der Datei configuration.php aktiviert werden.

 Standard-Joomla-Cache-Einstellungen

 

Um Memcache zu aktivieren, müssen Sie Ihre Configuration.php bearbeiten und die folgenden beiden Variablen bearbeiten:

öffentliches $caching = '0';
öffentliche $cache_handler = 'Datei';

zu:

öffentliches $caching = '2';
öffentlicher $cache_handler = 'memcache';
öffentlich $memcache_server_host = 'localhost';
öffentlicher $memcache_server_port = 'xxxxxx'

 Dabei steht xxxxxx für den von Ihrem Hosting-Server angegebenen Port. Überprüfen Sie die Informationen mit Ihrem Hosting-Server.

Joomla Memcache-Einstellungen

Joomla Memcache-Einstellungen

  

Sobald dies erledigt ist, wird Ihr Joomla-System im Memcached-Modus betrieben, und Sie sollten eine weitere Verbesserung der Ladezeit Ihrer Website feststellen. Dies ist besonders hilfreich für stark frequentierte Websites. Überprüfen Sie, ob Ihre Website Memcached unterstützt. Wenn nicht, sollten Sie SiteGround ein Blick ;)

Es gibt viele andere Artikel über Leistung auf dieser Website, einer der beliebtesten ist, wie man den Fehler namens, Browser-Caching nutzen zu beheben - wir haben eine vollständige Erklärung auf CollectiveRay.

 

Aktivieren Sie das Joomla-Caching für eine schnellere Joomla-Website

So aktivieren Sie PHP OpCache für Joomla

Die oben genannten Punkte sollten die Lade- und Ausführungszeit Ihrer Website bereits deutlich verbessert haben. Es gibt jedoch noch eine Sache, die Ihre Ladezeit verzögert.

Dies entspricht in der Regel der Ausführungszeit des PHP-Codes. PHP ist eine Programmiersprache, die zeilenweise ausgeführt wird. Der Server übersetzt den PHP-Code typischerweise in maschinenausführbare Anweisungen und führt diese dann aus.

Wenn die Anweisungen jedoch erneut ausgeführt werden, werden sie erneut übersetzt. Jedes Mal, wenn derselbe Code ausgeführt wird, muss er also erneut übersetzt werden.

Dies stellt einen Leistungsengpass dar, der durch sogenanntes OpCode-Caching oder OpCaching behoben werden kann. Beim OpCode-Caching wird ein neuer Cache-Typ erstellt, der den zuvor übersetzten Maschinencode speichert, sodass der maschinenausführbare Code bei erneuter Ausführung der Zeile bereits verfügbar ist.

Unten sehen Sie ein Diagramm, das zeigt, wie dies in der Praxis funktioniert:

PHP-Opcode-Caching

OpCode-Caching erfordert die Unterstützung Ihres Hosting-Servers. Wenn Ihre Site auf CPanel und WHM läuft, benötigen Sie Root-Zugriff auf WHM und aktivieren PHP-FPM oder ein anderes OpCode-Caching-Paket. 

Auch hier gibt es Unterschiede zwischen PHP 7.2 und PHP 7.3. Am besten erkundigen Sie sich bei Ihrem Hosting-Anbieter, ob und wie dies möglich ist. Wir nutzen einen InMotion VPS, haben also die volle Kontrolle über den Dienst und unser aktuelles Setup verwendet PHP-FPM.

Wenn Sie ROOT-Zugriff auf WHM haben, gehen Sie zu PHP MultiPHP Manager und installieren Sie ein Paket mit PHP-FPM.

Sobald Sie diese Option aktiviert haben, können Sie die folgenden Informationen in den PHP-Informationen in Joomla sehen. Sie finden diese unter System > Systeminformationen > PHP-Informationen

Sie können die Cache-Treffer sehen. Dies ist ein Hinweis darauf, dass PHP OpCodes aus dem Cache abruft und sie nicht jedes Mal von Grund auf neu erstellt.

Zend-Opcode-Caching Joomla

Alternative Caching-Option – LiteSpeed ​​Server

Wenn Sie einen VPS im Einsatz haben, haben Sie deutlich mehr Kontrolle und können die Leistung Ihres Servers steigern. 

Eine der fortschrittlichen Techniken, mit denen wir unsere Website deutlich schneller gemacht haben, ist die Verwendung des LiteSpeed-Servers anstelle von Apache oder NGINX. LiteSpeed ​​ist ein Enterprise-Webserver, der Apache direkt ersetzt.

Dies bedeutet, dass Sie die gesamte Konfiguration für Apache beibehalten können, aber eine viel schnellere Ausführungszeit erhalten. 

LiteSpeed ​​verfügt über integrierte OpCache- und Seiten-Caching-Funktionen als spezielle Joomla-Komponente. Es verfügt über eine eigene erweiterte Caching-Komponente, mit der Sie einzelne Seiten löschen können. So müssen Sie beim Aktualisieren einer Seite nicht den gesamten Cache ungültig machen.

LiteSpeed ​​Joomla Cache-Optionen

Es stehen zahlreiche erweiterte Caching-Optionen zur Verfügung. Wir haben diesen Server genutzt, um eine unglaubliche Website-Ladegeschwindigkeit zu erreichen. Der LiteSpeed-Server kostet 10 $/Monat, ist aber unserer Meinung nach eine hervorragende Investition.

Testen Sie jetzt den LiteSpeed ​​Server

Wichtige Punkte:

Wenn Sie den Joomla-Cache aktivieren, stellen Sie möglicherweise fest, dass Ihre Trefferanzahl nicht mehr bei jedem Treffer steigt. Da Sie eine Kopie des Inhalts für eine gewisse Zeit speichern, steigen die Treffer nur jedes Mal, wenn der Cache abläuft. Obwohl dies nachteilig klingen mag, sollten Sie die Trefferanzahl unserer Meinung nach vollständig ignorieren, unabhängig davon, ob Sie den Joomla-Cache aktivieren oder nicht. Trefferzählungen sind aus verschiedenen Gründen verzerrt und ungenau.

1. Sie werden durch Ihre eigenen Treffer aufgebläht

2. Sie werden durch Bots, Crawler und andere „unrealistische“ oder „Geisterbesucher“ aufgebläht. Dabei handelt es sich nicht um tatsächliche Besucher Ihrer Website. Es sind lediglich Skripte, die ihre Roboteraufgaben ausführen. Wenn Sie diese als echte Menschen betrachten, die Ihre Beiträge lesen, führt dies zu einem unrealistischen Szenario.

3. Dienste wie Google Analytics sind viel präziser bei der Verarbeitung von Skripten und der Erstellung einer detaillierten Analyse und eines Profils Ihrer Website-Besucher. Es ist für Sie viel nützlicher, hierfür ein Skript wie Google Analytics zu verwenden. Sie können unsere Joomla Google Analytics-Plugin um dies zu tun.

Wie Sie auf unserer Website sehen können, haben wir die meisten Joomla-Hits deaktiviert, da wir diese für nutzlos und eine reine Ressourcenverschwendung halten. Wenn Sie wissen möchten, wer Ihre Website besucht, nutzen Sie Google Analytics. Wenn Sie Ihre Besucher mit der Anzahl Ihrer Seitenaufrufe beeindrucken möchten, fügen Sie Social Buttons hinzu. Diese sorgen für deutlich mehr Traffic und sind natürlich auch sehr präzise.

Joomla 1.5

Auch die Aktivierung des Joomla Cache ist unkompliziert. Von der Global Configuration, klicke auf System Tab, und auf der rechten Seite befindet sich die Cache-Einstellungen Klicken Sie in den Cache-Einstellungen auf „Ja“ und geben Sie einen angemessenen Wert in Minuten ein (60 Minuten sollten für die meisten Websites ausreichend sein). Sobald Sie auf „Übernehmen“ klicken, wird das Caching aktiviert.

Joomla 1.0 

Der standardmäßige Joomla-Cache wird unter Site > Globale Konfiguration > System > Cache-Einstellungen (oder Site > Globale Konfiguration > Registerkarte Cache für Joomla 1.0) aktiviert und als aktiviert markiert.

Obwohl es Komponenten gibt, die für das Caching geschrieben wurden, wird das sofort einsatzbereite Caching Ihrer Website einen sofortigen Schub verleihen.

Häufig gestellte Fragen

Was ist ein Cache?

Ein Cache ist ein Mechanismus, der eine temporäre Kopie des Inhalts auf einem lokalen, schnellen Speicher (z. B. Festplatte oder Arbeitsspeicher) speichert, sodass der Server den Inhalt nicht jedes Mal aus der Datenbank abrufen muss, wenn ein Besucher eine Website besucht. Dadurch wird die Ladezeit einer Website deutlich verkürzt.

Wie aktiviere ich den Joomla-Cache?

Es gibt verschiedene Möglichkeiten, den Joomla-Cache zu aktivieren. Am einfachsten aktivieren Sie ihn über den Joomla-Kern in der globalen Konfiguration unter „System“ im Bereich „Cache-Einstellungen“. Aktivieren Sie dazu einfach die Option „Cache aktivieren – Konservatives Caching“. Aktivieren Sie außerdem das Seiten-Cache-Plugin unter „Erweiterungen > Plugins“ für das Caching auf Seitenebene. Weitere erweiterte Caching-Optionen finden Sie in diesem Artikel.

Wie lösche ich den Joomla-Cache?

Um den Joomla-Cache zu leeren, gehen Sie einfach zu System > Cache leeren und klicken Sie auf Alle löschen.

Fazit

Oben haben wir die verschiedenen Möglichkeiten gesehen, wie Sie den Joomla-Cache aktivieren können, sowohl vom Kern aus als auch mithilfe externer und erweiterter Komponenten, um Ihre Website schneller zu machen. Schreiben Sie uns gerne, falls wir etwas übersehen haben.