Invalidierter Cache führt zu einer Verschlechterung der Reaktionszeit

Dieser Artikel bietet eine Lösung, wie Sie eine Cache-Invalidierung vermeiden können, was die Leistung eines Adobe Commerce-Stores verlangsamen kann.

BETROFFENE PRODUKTE UND VERSIONEN:

  • Adobe Commerce lokal 2.2.x, 2.3.x
  • Adobe Commerce auf Cloud-Infrastruktur 2.2.x, 2.3.x

Problem

Langsame Site-Antwort.

Ursache

Eine lange Reaktionszeit kann dadurch verursacht werden, dass der Cache invalidiert (geleert) wird.

Der Cache wird verwendet, um schnelle Antworten auf die Anforderungen der Site-Besucher zu generieren. Wenn keine entsprechenden Cachedaten verfügbar sind, ruft die Adobe Commerce-Anwendung die Daten aus der Datenbank ab, berechnet und aggregiert die Daten und speichert sie im Cache-Speicher. Der Cache-Generierungsprozess erfordert zusätzliche Systemressourcen, die zu einer vollständigen Verschlechterung der Antwortzeit führen.

In Adobe Commerce gibt es zwei Cache-Typen:

  1. Intern:

    • speichert Daten auf dem Server
    • speichert bestimmte Daten (Konfiguration, Produktdetails, Kategoriedetails usw.)
  2. Extern:

    • CDN oder Varnish (im Fall von Adobe Commerce über Cloud-Infrastruktur - Schnelles CDN)
    • speichert bereits generierte vollständige Seiten. Beispiel: Katalog/Kategorie, Katalog/Produktseiten usw.

Überprüfen, ob der Cache ungültig gemacht wurde

Informationen zu den invalidierten Cache-Typen finden Sie im Abschnitt <install_directory>/var/log/debug.log -Datei.

Gehen Sie dazu folgendermaßen vor:

  1. Öffnen <install_directory>/var/log/debug.log

  2. Suchen Sie nach " cache_invalidate ".

  3. Überprüfen Sie dann das angegebene Tag. Er gibt an, welcher Cache geleert wurde. Möglicherweise treten aufgrund des invalidierten Caches Probleme auf, wenn ein Tag ohne bestimmte Entitäts-ID angezeigt wird, z. B.:

    • cat_p - steht für den Cache des Katalogprodukts.
    • cat_c - Cache der Katalogkategorie.
    • FPC - Vollständiger Seiten-Cache.
    • CONFIG - Konfigurationscache.

    Sogar eines von ihnen würde die Antwort der Website verlangsamen. Wenn das Tag beispielsweise eine Entitäts-ID enthält category_product_1258, würde dies den Cache für ein bestimmtes Produkt oder eine bestimmte Kategorie usw. angeben. Das Leeren des Caches für ein bestimmtes Produkt oder eine bestimmte Kategorie würde nicht dazu führen, dass die Reaktionszeit signifikant zurückgeht.

Im Folgenden finden Sie ein Beispiel für eine debug.log enthält Datensätze zu cat_p und category_product_15044 Cache entfernt wurde:

Beispiel für den Inhalt von debug.log

In der Regel wird der Cache durch Folgendes ungültig gemacht:

  • Vollständige Neuindizierung.
  • Zwischenspeicher aus CLI (manuell oder mithilfe von Cron) erfassen.

Empfehlung

  1. Vermeiden Sie das Leeren des Cache aus der Commerce-CLI.
  2. Konfigurieren von Indexern für Nach Zeitplan aktualisieren anstelle von Im Speichermodus aktualisieren weil letztere Trigger volle Neuindizierung. Weitere Informationen finden Sie unter Indexer verwalten > Indexer konfigurieren in unserer Entwicklerdokumentation.
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a