Caching in Shopware 6

Caching in Shopware 6

Shopware 6 ist ein leistungsstarkes Shopsystem, das durch zahlreiche Features und Flexibilität überzeugt. Ein wichtiges Element, das die Performance Ihres Onlineshops maßgeblich beeinflusst, ist das Caching. Caching hilft dabei, die Ladezeiten der Seiten zu verkürzen und die Serverlast zu reduzieren, indem häufig angefragte Inhalte zwischengespeichert werden. Dadurch müssen sie nicht bei jeder Anfrage neu generiert werden. Jedoch kann es vorkommen, dass der Cache in Shopware schnell anwächst und viel Speicherplatz beansprucht. In diesem Leitfaden erfahren Sie, wie das Caching in Shopware 6 funktioniert und was Sie beachten sollten, um genügend Platzreserven auf Ihrem Server zu haben.

1. Was ist Caching und wie funktioniert es in Shopware 6?

Caching ist ein fundamentaler Bestandteil moderner E-Commerce-Plattformen, der maßgeblich zur Verbesserung der Performance und Benutzererfahrung beiträgt. In diesem Abschnitt wird erläutert, was Caching im Kontext von Shopware 6 bedeutet, welche verschiedenen Cache-Typen verwendet werden und welche Technologien und Speicherorte dabei zum Einsatz kommen.

Was ist Caching?

Caching bezeichnet den Prozess des temporären Speicherns von Daten, um den schnellen Zugriff auf häufig benötigte Informationen zu ermöglichen. In Shopware 6 dient das Caching dazu, die Ladezeiten von Webseiten zu verkürzen, die Serverlast zu reduzieren und die Gesamtperformance des Onlineshops zu optimieren. Durch das Speichern von häufig abgerufenen Daten müssen diese nicht bei jedem Seitenaufruf neu generiert oder aus der Datenbank abgefragt werden, was zu einer effizienteren Ressourcennutzung und einer verbesserten Benutzererfahrung führt.

Vorteile des Cachings

  • Erhöhte Geschwindigkeit: Schnellere Ladezeiten durch den Zugriff auf zwischengespeicherte Daten.
  • Reduzierte Serverbelastung: Weniger Datenbankabfragen und geringerer Rechenaufwand auf dem Server.
  • Verbesserte Skalierbarkeit: Besseres Handling von hohem Traffic durch effiziente Datenbereitstellung.
  • Konsistente Benutzererfahrung: Stabile und schnelle Reaktionszeiten, unabhängig von der Anzahl der gleichzeitigen Nutzer.

Arten von Caches in Shopware 6

Shopware 6 implementiert mehrere Cache-Typen, die jeweils unterschiedliche Aspekte des Systems optimieren. Diese verschiedenen Caches arbeiten zusammen, um eine umfassende Performance-Optimierung zu gewährleisten.

HTTP-Cache: Der HTTP-Cache speichert vollständige HTML-Seiten, die vom Server generiert werden. Dieser Cache ermöglicht es, statische Versionen von Seiten schnell an die Benutzer auszuliefern, ohne dass die Seite bei jedem Aufruf neu generiert werden muss. Dies reduziert die Ladezeiten erheblich und entlastet den Server.

Model-Cache: Der Model-Cache speichert Ergebnisse von Datenbankabfragen und Datenmodellen. Durch das Zwischenspeichern dieser Daten können häufig benötigte Informationen schneller abgerufen werden, ohne dass wiederholte Datenbankabfragen erforderlich sind. Dies verbessert die Performance insbesondere bei komplexen Datenabfragen und großen Produktkatalogen.

Backend-Cache: Der Backend-Cache unterstützt die Administration und Backend-Funktionalitäten von Shopware 6. Dieser Cache speichert administrative Daten und Konfigurationen, um eine schnelle Reaktion im Administrationsbereich zu gewährleisten. Eine effiziente Verwaltung des Backend-Caches ist besonders wichtig für die Performance des Administrationsbereichs bei großen Shops mit umfangreicher Verwaltung.

Session-Cache: Der Session-Cache verwaltet Benutzersitzungen und temporäre Daten, wie beispielsweise Warenkorbinhalte oder Login-Informationen. Durch die effiziente Speicherung und den schnellen Zugriff auf Sitzungsdaten wird eine konsistente und reibungslose Benutzererfahrung gewährleistet.

Speicherorte und Technologien

Im Standardbetrieb nutzt Shopware 6 die Festplatte (Disk Storage) zur Speicherung des HTTP-Caches. Diese Methode ist einfach zu implementieren und weit verbreitet, kann jedoch bei sehr großen Caches zu Performance-Einbußen führen. Um eine effizientere Verwaltung und schnellere Zugriffszeiten zu gewährleisten, können externe In-Memory-Speicher wie Redis integriert werden.

Redis als Caching-Technologie: Redis ist ein leistungsstarker In-Memory Key-Value-Speicher, der sich hervorragend für Caching-Zwecke eignet. Im Gegensatz zu Festplattenspeichern, die langsamer sind, ermöglicht Redis extrem schnelle Datenzugriffszeiten, da die Daten direkt im Arbeitsspeicher gehalten werden. Dies macht Redis besonders geeignet für den Model-Cache und den Backend-Cache, wo häufig auf Daten zugegriffen wird.

Vorteile der Nutzung von Redis:

  • Hohe Geschwindigkeit: Daten werden im Arbeitsspeicher gehalten, was schnellere Zugriffszeiten ermöglicht.
  • Skalierbarkeit: Redis kann leicht skaliert werden, um größere Datenmengen und höhere Zugriffszahlen zu bewältigen.
  • Flexibilität: Unterstützt verschiedene Datenstrukturen wie Strings, Listen, Sets und Hashes, was eine flexible Datenverwaltung erlaubt.
  • Persistenzoptionen: Redis bietet Mechanismen zur Datenpersistenz, sodass Daten auch nach einem Neustart des Servers erhalten bleiben können.

Integration von Redis in Shopware 6: Die Integration von Redis erfordert eine Anpassung der Shopware-Konfiguration, um Redis als Cache-Backend zu nutzen. Dies umfasst die Anpassung der config/packages/shopware.yaml Datei, um die Verbindung zu Redis zu definieren und die entsprechenden Cache-Typen zuzuweisen. Details dazu finden Sie in unserer Anleitung und in der offiziellen Dokumenation von Shopware.

Cache-Control-Header und Reverse-Proxies

Neben den internen Caching-Mechanismen von Shopware 6 spielen auch externe Faktoren eine wichtige Rolle bei der Optimierung der Performance. Ein wesentlicher Bestandteil sind die Cache-Control-Header, die vom Server an den Browser gesendet werden. Diese Header informieren den Browser darüber, ob und wie lange eine Seite lokal gespeichert werden soll, was die Ladezeiten für wiederkehrende Besucher weiter verkürzt.

Cache-Control-Header: Diese Header steuern das Verhalten des Browser-Caches und legen fest, ob eine Seite zwischengespeichert werden darf und wie lange sie gültig bleibt. Durch eine präzise Einstellung der Cache-Control-Header kann die Menge der wiederholten Anfragen an den Server reduziert werden, was die Gesamtperformance des Shops verbessert.

Reverse-Proxies wie Varnish: Reverse-Proxies sind Caching-Server, die vor dem eigentlichen CMS (in diesem Fall Shopware 6) geschaltet werden. Sie speichern zwischengespeicherte Inhalte und liefern diese direkt an den Benutzer aus, ohne dass die Anfrage das CMS erreichen muss. Dies reduziert die Serverlast und beschleunigt die Auslieferung von Inhalten erheblich. Tools wie Varnish oder Cloudflare nutzen Cache-Tags und Kontexte, um zu bestimmen, welche Bestandteile einer Seite gecacht werden sollen und welche dynamisch bleiben müssen.

Zusammenarbeit zwischen Shopware und Reverse-Proxies: Shopware 6 nutzt eine Sprache von Cache-Tags und Kontexten, die es Reverse-Proxies ermöglichen, gezielt zu entscheiden, welche Inhalte gecacht werden sollen. Dies sorgt dafür, dass dynamische Inhalte, die sich häufig ändern, immer aktuell bleiben, während statische Inhalte effizient zwischengespeichert werden können.

2. Warum wird der Cache so groß und wie viel Speicherplatz sollte reserviert sein?

Das effektive Management des Cachings in Shopware 6 stellt Betreiber vor mehrere Herausforderungen, die sorgfältig adressiert werden müssen, um die optimale Performance des Onlineshops sicherzustellen. Gleichzeitig bieten sich durch bewährte Best Practices Wege, diese Herausforderungen erfolgreich zu meistern und die Vorteile des Cachings voll auszuschöpfen.

Cache-Größe und Serverressourcen

Eine der zentralen Herausforderungen beim Caching in Shopware 6 ist die potenzielle Größe des Caches und der damit verbundene Bedarf an Serverressourcen. In stark frequentierten Shops, insbesondere solchen mit einer umfangreichen Produktpalette und zahlreichen URL-Parametern, kann der Cache rasch anwachsen. Dies führt zu einem erhöhten Speicherplatzbedarf auf dem Server, was wiederum die Serverkosten beeinflussen und die Gesamtleistung beeinträchtigen kann. Ein übermäßig großer Cache beansprucht nicht nur den verfügbaren Speicher, sondern kann auch die Zugriffsgeschwindigkeit verlangsamen, da der Server mehr Daten verarbeiten muss.

Um Leistungsabfälle zu vermeiden, sollten Betreiber von Shopware 6 Shops großzügige Speicherreserven für den Cache einplanen. Eine gängige Faustregel ist, etwa 10-20% des gesamten verfügbaren Speicherplatzes für den Cache zu reservieren. Bei sehr großen Shops mit über 100.000 Produkten kann dieser Bedarf jedoch höher ausfallen, weshalb eine individuelle Anpassung basierend auf der spezifischen Shopgröße und dem Traffic notwendig ist. Es ist zudem ratsam, regelmäßige Überprüfungen der Cache-Größe durchzuführen und die Serverressourcen entsprechend anzupassen, um Engpässe frühzeitig zu erkennen und zu beheben.

Strategisches Cache-Warmup statt umfassendes Vorwärmen

Ein weiterer kritischer Aspekt ist das Cache-Warmup. Viele Shop-Betreiber missverstehen den Zweck des Warmups und neigen dazu, den gesamten Shop vorab im Cache zu speichern. Dies ist jedoch bei umfangreichen Shops mit zahlreichen URLs und Produktvariationen ineffizient und ressourcenintensiv. Stattdessen sollte der Fokus auf ein strategisches Warmup gelegt werden, bei dem nur die meistbesuchten und wichtigsten Seiten vorab gecacht werden. Dies reduziert die Serverlast erheblich und stellt sicher, dass die wichtigsten Inhalte schnell verfügbar sind.

Ein effektives Warmup konzentriert sich beispielsweise auf Hauptkategorien und stark frequentierte Produktseiten, während weniger frequentierte Detailseiten mit vielen Parameter-Kombinationen ausgelassen werden können. Durch diese gezielte Auswahl wird eine Balance zwischen Performance und Ressourcenverbrauch hergestellt, die den Anforderungen großer Shops gerecht wird.

Anpassung der Cache-Gültigkeit

Die Standard-Cache-Dauer in Shopware 6 beträgt in der Regel etwa 60 Minuten. Diese Einstellung kann jedoch je nach Änderungsfrequenz der Inhalte angepasst werden, um eine optimale Balance zwischen Performance und Aktualität der Daten zu gewährleisten. Statische Inhalte, wie bestimmte Kategorien oder festgelegte Landing Pages, ändern sich selten und können daher über längere Zeiträume im Cache verbleiben, beispielsweise bis zu zwei Wochen. Im Gegensatz dazu erfordern dynamische Inhalte, wie Preise oder Lagerbestände, die häufig aktualisiert werden, kürzere Cache-Dauern von etwa vier Stunden, um sicherzustellen, dass die angezeigten Informationen stets aktuell sind.

Durch eine differenzierte Festlegung der Cache-Gültigkeit kann die Aktualität der Inhalte gewahrt und gleichzeitig die Performance optimiert werden. Es ist ratsam, diese Einstellungen regelmäßig zu überprüfen und anzupassen, um auf Veränderungen im Shop-Verhalten oder in den Produktinformationen flexibel reagieren zu können.

3. Anleitung: So leeren Sie den Cache in Shopware 6

Das Leeren des Caches in Shopware 6 ist ein wichtiger Wartungsschritt, der aus verschiedenen Gründen notwendig sein kann, beispielsweise nach Updates, Änderungen an der Shop-Konfiguration oder zur Behebung von Performance-Problemen. Eine effektive Cache-Verwaltung stellt sicher, dass Ihr Shop stets aktuelle und relevante Daten anzeigt und gleichzeitig die Performance optimiert bleibt.

Schritt 1: Cache leeren in der Shopware 6 Administration

Die Shopware 6 Administration bietet eine benutzerfreundliche Oberfläche, um den Cache zu verwalten und zu leeren. Dieser Ansatz ist besonders für Benutzer geeignet, die keine tiefgehenden technischen Kenntnisse besitzen.


1

  • Melden Sie sich in der Shopware 6 Administration mit Ihren Zugangsdaten an.

Ergebnis: Sie gelangen in den Admin-Bereich von Shopware 6.



2

  • Navigieren Sie im Hauptmenü in der linken Sidebar zu Einstellungen und wählen Sie dort im Untermenü den Bereich System aus.

Ergebnis: Die Seite "System" wird angezeigt.



3

  • Gehen Sie zu Caches & Indizes.

Ergebnis: Hier finden Sie eine Übersicht über die Caches und Indizes.



4

  • Leeren Sie die Caches mit einem Klick auf Caches leeren.

Ergebnis: Sie haben den Shopware-Cache geleert.


Schritt 2: Cache über die Konsole leeren (optional)

Für fortgeschrittene Benutzer oder Administratoren, die eine schnellere und automatisierbare Methode bevorzugen und Zugriff auf die Kommandozeile haben, bietet die Shopware CLI eine effiziente Möglichkeit, den Cache zu verwalten. Dies ist besonders nützlich, wenn Sie größere Änderungen am System vornehmen oder wenn der Admin-Bereich nicht verfügbar ist.


1

  • Loggen Sie sich per SSH in Ihren Server ein und stellen Sie eine Verbindung zu Ihrem Server her.

Ergebnis: Sie befinden sich auf der Kommandozeile Ihres Servers.



2

  • Navigieren Sie in das Shopware-Installationsverzeichnis. In diesem Beispiel nutzen wir das Webverzeichnis der Webseite.

Ergebnis: Sie befinden sich im Shopware-Installationsverzeichnis.



3

  • Führen Sie den folgenden Befehl aus:
  • php bin/console cache:clear
    

Ergebnis: Dieser Befehl leert alle Caches in Shopware 6 und sorgt dafür, dass alle zwischengespeicherten Daten neu generiert werden.


Die Herausforderungen beim Caching in Shopware 6 sind vielfältig, doch mit einer durchdachten Strategie und den richtigen Best Practices lassen sich diese erfolgreich meistern. Die sorgfältige Planung der Cache-Größe und der erforderlichen Serverressourcen, ein strategisches Cache-Warmup, die Anpassung der Cache-Gültigkeit sowie die Integration von Redis bilden die Grundpfeiler einer effektiven Caching-Strategie. Durch kontinuierliche Überwachung und die Zusammenarbeit mit spezialisierten Dienstleistern können Betreiber sicherstellen, dass ihr Shopware 6 Shop stets optimal performt und gleichzeitig die Serverressourcen effizient genutzt werden. Eine solche Strategie trägt maßgeblich zur Verbesserung der Ladezeiten, zur Reduzierung der Serverlast und zur Steigerung der Benutzerzufriedenheit bei, was letztlich den geschäftlichen Erfolg des Onlineshops nachhaltig unterstützt.

Finden Sie den passenden Tarif

Unser Tarifberater hilft Ihnen dabei, das passende Paket zu finden. Bei Fragen berät Sie unser Sales-Team sehr gerne unter +49 (0) 4131 / 22 78 1-25 oder sales@timmehosting.de.

Bitte beachten Sie: Der Tarifberater dient nur der groben Orientierung. Ihr tatsächlicher Bedarf kann durch den Ressourcenbedarf Ihrer Anwendung(en), tageszeitabhängige/saisonale/aktionsbedingte Schwankungen des Besucheraufkommens, geplantes Wachstum und weitere Faktoren von der Empfehlung abweichen.

  • 1
  • 2
  • 3
  • 4
  • 5

Was möchten Sie hosten?

Möchten Sie einen oder mehrere Shops hosten? (Eine Multishop-Installation gilt als ein Shop.)

Möchten Sie eine oder mehrere Websites hosten? (Eine Multisite-Installation gilt als eine Website.)

Wieviele Besucher haben Sie insgesamt pro Tag?

Wieviele Besucher haben Sie insgesamt pro Tag?

Wieviele Besucher haben Sie insgesamt pro Tag?

Wieviele Artikel haben Sie insgesamt in Ihrem Shop/Ihren Shops (inkl. Varianten)?

Wieviele Artikel haben Sie insgesamt in Ihrem Shop/Ihren Shops (inkl. Varianten)?

Wieviel Speicherplatz benötigen Sie insgesamt?

Wieviel Speicherplatz benötigen Sie insgesamt?

Wieviel Speicherplatz benötigen Sie insgesamt?

Wir empfehlen Ihnen folgende Lösungen:

ScaleServer oder Web Hosting

Zu den ScaleServer Paketen Zu den Web Hosting Paketen

Wir empfehlen Ihnen folgende Lösungen:

ScaleServer oder Shop Hosting

Zu den ScaleServer Paketen Zu den Shop Hosting Paketen

Wir empfehlen Ihnen folgende Lösungen:

Managed vServer oder ScaleServer

Zu den Managed vServer Paketen Zu den ScaleServer Paketen

Wir empfehlen Ihnen folgende Lösungen:

Managed Server oder ScaleServer

Zu den Managed Server Paketen Zu den ScaleServer Paketen

Wir empfehlen Ihnen unsere

Timme Cloud 2.0

Zur Timme Cloud 2.0