Analyse des CDN-Cache-Trefferverhältnisses

Inhalte, die im CDN zwischengespeichert werden, reduzieren die Latenz, mit der Benutzende der Website konfrontiert sind, sodass sie nicht warten müssen, bis die Anfrage wieder zu Apache/Dispatcher oder zu AEM Publish gelangt. Vor diesem Hintergrund ist es sinnvoll, das CDN-Cache-Trefferverhältnis zu optimieren, um die im CDN zwischenspeicherbare Menge an Inhalten zu maximieren.

Erfahren Sie, wie Sie die von AEM as a Cloud Service bereitgestellten CDN-Protokolle analysieren und für Optimierungszwecke Erkenntnisse wie das Cache-Trefferverhältnis oder die Top-URLs der Cache-Typen MISS und PASS gewinnen.

Die CDN-Protokolle sind im JSON-Format verfügbar, das verschiedene Felder enthält, darunter url, cache. Weitere Informationen finden Sie unter CDN-Protokollformat. Das Feld cache liefert Informationen über den Zustand des Cache mit den möglichen Werten „HIT“, „MISS“ oder „PASS“. Sehen wir uns die Details der möglichen Werte an.

Cache-Status
Möglicher Wert
Beschreibung
HIT
Die angeforderten Daten werden im CDN-Cache gefunden und erfordern keine Abrufanfrage an den AEM-Server.
MISS
Die angefragten Daten werden nicht im CDN-Cache gefunden und müssen vom AEM-Server angefragt werden.
PASS
Für die angefragten Daten ist explizit festgelegt, dass sie nicht zwischengespeichert werden und immer vom AEM-Server abgerufen werden.

Für dieses Tutorial wird das AEM WKND-Projekt in der AEM as a Cloud Service-Umgebung bereitgestellt und ein kleiner Leistungstest mit Apache JMeter ausgelöst.

Dieses Tutorial ist so strukturiert, dass Sie den folgenden Prozess durchlaufen:

  1. Herunterladen von CDN-Protokollen über Cloud Manager
  2. Analyse dieser CDN-Protokolle, die mit zwei Ansätzen durchgeführt werden kann: ein lokal installiertes Dashboard oder ein Splunk oder Jupyter Notebook mit Fernzugriff (für diejenigen, die eine Adobe Experience Platform-Lizenz besitzen)
  3. Optimieren der CDN-Cache-Konfiguration

Herunterladen von CDN-Protokollen

Gehen Sie wie folgt vor, um die CDN-Protokolle herunterzuladen:

  1. Melden Sie sich bei Cloud Manager unter my.cloudmanager.adobe.com an und wählen Sie Ihre Organisation und Ihr Programm aus.

  2. Wählen Sie für eine gewünschte AEMCS-Umgebung Protokolle herunterladen aus dem Menü mit den Auslassungspunkten.

    Protokolle herunterladen – Cloud Manager {width="500" modal="regular"}

  3. Wählen Sie im Dialogfeld Protokolle herunterladen den Publish-Service aus dem Dropdown-Menü aus und klicken Sie dann neben der Zeile CDN auf das Download-Symbol.

    CDN-Protokolle – Cloud Manager {width="500" modal="regular"}

Wenn die heruntergeladene Protokolldatei von heute ist, lautet die Dateierweiterung .log, bei früheren Protokolldateien lautet die Erweiterung .log.gz.

Analysieren von heruntergeladenen CDN-Protokollen

Um Einblicke beispielsweise in das Cache-Trefferverhältnis und die Top-URLs der Cache-Typen „MISS“ und „PASS“ zu erhalten, analysieren Sie die heruntergeladene CDN-Protokolldatei. Diese Erkenntnisse helfen, die CDN-Cache-Konfiguration zu optimieren und die Leistung der Site zu verbessern.

Um die CDN-Protokolle zu analysieren, bietet dieses Tutorial drei Optionen:

  1. Elasticsearch, Logstash und Kibana (ELK): Die ELK-Dashboard-Tools können lokal installiert werden.
  2. Splunk: Die Splunk-Dashboard-Tools benötigen Zugriff auf Splunk und eine aktivierte AEMCS-Protokollweiterleitung, um die CDN-Protokolle aufzunehmen.
  3. Jupyter Notebook: Für Kundinnen und Kunden, die über eine Lizenz von Adobe Experience Platform verfügen, ist der Fernzugriff als Teil von Adobe Experience Platform möglich, ohne dass zusätzliche Software installiert werden muss.

Option 1: Verwenden der ELK-Dashboard-Tools

Der ELK-Stack ist eine Reihe von Tools, die eine skalierbare Lösung für die Suche, Analyse und Visualisierung von Daten bieten. Er besteht aus Elasticsearch, Logstash und Kibana.

Um die wichtigsten Details zu ermitteln, verwenden wir das Projekt AEMCS-CDN-Log-Analysis-Tooling. Dieses Projekt stellt einen Docker-Container des ELK-Stacks und ein vorkonfiguriertes Kibana-Dashboard zur Analyse der CDN-Protokolle bereit.

  1. Folgen Sie den Schritten zum Einrichten des ELK-Docker-Containers und stellen Sie sicher, dass Sie das Kibana-Dashboard namens CDN Cache Hit Ratio (CDN-Cache-Trefferverhältnis) importieren.

  2. Gehen Sie wie folgt vor, um das CDN-Cache-Trefferverhältnis und die Top-URLs zu identifizieren:

    1. Kopieren Sie die heruntergeladenen CDN-Protokolldateien in den umgebungsspezifischen Protokollordner, z. B. ELK/logs/stage.

    2. Öffnen Sie das Dashboard CDN-Cache-Trefferverhältnis, indem Sie oben links auf das Navigationsmenü klicken und „Analyse“ > „Dashboard“ > „CDN-Cache-Trefferverhältnis“ auswählen.

      CDN-Cache-Trefferverhältnis – Kibana-Dashboard {width="500" modal="regular"}

    3. Wählen Sie oben rechts den gewünschten Zeitraum aus.

      Zeitraum – Kibana-Dashboard {width="500" modal="regular"}

    4. Das Dashboard CDN-Cache-Trefferverhältnis erklärt sich von selbst.

    5. Die Gesamtanfragen-Analyse zeigt die folgenden Details an:

      • Cache-Verhältnisse nach Cache-Typ
      • Cache-Zählungen nach Cache-Typ

      Gesamtanfragen-Analyse – Kibana-Dashboard {width="500" modal="regular"}

    6. Die Analyse nach Anfrage- oder Mime-Typen zeigt die folgenden Details an:

      • Cache-Verhältnisse nach Cache-Typ
      • Cache-Zählungen nach Cache-Typ
      • Die wichtigsten MISS- und PASS-URLs

      Analyse nach Anfrage- oder Mime-Typen – Kibana-Dashboard {width="500" modal="regular"}

Filtern nach Umgebungsnamen oder Programm-ID

Gehen Sie wie folgt vor, um die erfassten Protokolle nach Umgebungsnamen zu filtern:

  1. Klicken Sie im Dashboard „CDN-Cache-Trefferverhältnis“ auf das Symbol Filter hinzufügen.

    Filter – Kibana-Dashboard {width="500" modal="regular"}

  2. Wählen Sie im Modal Filter hinzufügen das Feld aem_env_name.keyword aus dem Dropdown-Menü und den Operator is sowie den gewünschten Umgebungsnamen für das nächste Feld, und klicken Sie schließlich auf Filter hinzufügen.

    Filter hinzufügen – Kibana-Dashboard {width="500" modal="regular"}

Filtern nach Host-Namen

Gehen Sie wie folgt vor, um die erfassten Protokolle nach Host-Namen zu filtern:

  1. Klicken Sie im Dashboard „CDN-Cache-Trefferverhältnis“ auf das Symbol Filter hinzufügen.

    Filter – Kibana-Dashboard {width="500" modal="regular"}

  2. Wählen Sie im Modal Filter hinzufügen das Feld host.keyword aus dem Dropdown-Menü und den Operator is sowie den gewünschten Host-Namen für das nächste Feld, und klicken Sie schließlich auf Filter hinzufügen.

    Host-Filter – Kibana-Dashboard {width="500" modal="regular"}

Fügen Sie entsprechend den Analyseanfragen weitere Filter zum Dashboard hinzu.

Option 2: Verwenden der ELK-Dashboard-Tools

Splunk ist ein beliebtes Tool zur Protokollanalyse, mit dem Sie Protokolle zusammenfassen und analysieren sowie Visualisierungen für die Überwachung und Fehlerbehebung erstellen können.

Um die wichtigsten Details zu ermitteln, verwenden wir das Projekt AEMCS-CDN-Log-Analysis-Tooling. Dieses Projekt bietet ein Splunk-Dashboard zur Analyse der CDN-Protokolle.

  1. Folgen Sie den Schritten aus Splunk-Dashboards für AEMCS CDN Log Analysis und stellen Sie sicher, dass Sie das Splunk-Dashboard CDN-Cache-Trefferverhältnis importieren.

  2. Aktualisieren Sie bei Bedarf den Index, den Quellentyp und andere Filterwerte im Splunk-Dashboard.

    Splunk-Dashboard {width="500" modal="regular"}

NOTE
Die Benutzeroberfläche und die Diagramme im Splunk-Dashboard unterscheiden sich vom ELK-Dashboard. Die wichtigsten Details sind jedoch ähnlich.

Option 3: Verwenden von Jupyter Notebook

Wenn Sie keine Software lokal installieren möchten (d. h. die ELK-Dashboard-Tools aus dem vorherigen Abschnitt), haben Sie eine andere Option, für die jedoch eine Lizenz für Adobe Experience Platform erforderlich ist.

Das Jupyter Notebook ist eine Open-Source-Web-Anwendung, mit der Sie Dokumente erstellen können, die Code, Text und Visualisierungen enthalten. Sie wird für die Datenumwandlung, Visualisierung und statistische Modellierung verwendet. Der Zugriff ist als Teil von Adobe Experience Platform remote möglich.

Herunterladen der interaktiven Python Notebook-Datei

Laden Sie zunächst die Datei AEM-as-a-CloudService – CDN Logs Analysis – Jupyter Notebook herunter, die bei der Analyse der CDN-Protokolle hilfreich ist. Diese heruntergeladene interaktive Python Notebook-Datei ist zwar selbsterklärend, die wichtigsten Punkte der einzelnen Abschnitte sind jedoch hier aufgeführt:

  • Install additional libraries: installiert die termcolor- und tabulate-Python-Bibliotheken.
  • Load CDN Log File: lädt die CDN-Protokolldatei mit dem Variablenwert log_file. Stellen Sie sicher, dass der Wert aktualisiert wird. Außerdem wird dieses CDN-Protokoll in den Pandas DataFrame umgewandelt.
  • Perform Analysis: Der erste Code-Block ist Display Analysis Result for Total, HTML, JS/CSS and Image Requests. Er stellt das Cache-Trefferverhältnis in Prozent sowie in Balken- und Kreisdiagrammen dar.
    Der zweite Code-Block ist Top 5 MISS and PASS Request URLs for HTML, JS/CSS, and Image. Er zeigt die URLs und ihre Anzahl in Tabellenform an.

Ausführen von Jupyter Notebook

Gehen Sie als Nächstes wie folgt vor, um Jupyter Notebook unter Adobe Experience Platform auszuführen:

  1. Melden Sie sich bei Adobe Experience Cloud an und klicken Sie von der Startseite aus auf Schnellzugriff > Experience Platform

    Experience Platform {width="500" modal="regular"}

  2. Klicken Sie auf der Adobe Experience Platform-Startseite auf den Abschnitt „Datenwissenschaft“ und dann auf den Menüpunkt Notebooks. Um die Jupyter Notebooks-Umgebung zu starten, klicken Sie auf die Registerkarte JupyterLab.

    Update des Werts der Notebook-Protokolldatei {width="500" modal="regular"}

  3. Laden Sie im Menü „JupyterLab“ über das Symbol Dateien hochladen die heruntergeladene CDN-Protokolldatei und die Datei aemcs_cdn_logs_analysis.ipynb hoch.

    Dateien hochladen – JupyteLab {width="500" modal="regular"}

  4. Öffnen Sie die Datei aemcs_cdn_logs_analysis.ipynb durch Doppelklick.

  5. Aktualisieren Sie im Abschnitt Load CDN Log File des Notizbuchs den Wert log_file.

    Update des Werts der Notebook-Protokolldatei {width="500" modal="regular"}

  6. Um die ausgewählte Zelle auszuführen und weiterzugehen, klicken Sie auf das Symbol Abspielen.

    Update des Werts der Notebook-Protokolldatei {width="500" modal="regular"}

  7. Nach der Ausführung der Code-Zelle Display Analysis Result for Total, HTML, JS/CSS, and Image Requests zeigt die Ausgabe das prozentuale Cache-Trefferverhältnis sowie ein Balken- und Kreisdiagramm an.

    Update des Werts der Notebook-Protokolldatei {width="500" modal="regular"}

  8. Nach der Ausführung der Code-Zelle Top 5 MISS and PASS Request URLs for HTML, JS/CSS, and Image zeigt die Ausgabe die wichtigsten 5 MISS- und PASS-Anfrage-URLs an.

    Update des Werts der Notebook-Protokolldatei {width="500" modal="regular"}

Sie können das Jupyter Notebook erweitern, um die CDN-Protokolle basierend auf Ihren Anforderungen zu analysieren.

Optimieren der CDN-Cache-Konfiguration

Nach der Analyse der CDN-Protokolle können Sie die CDN-Cache-Konfiguration optimieren, um die Site-Performance zu verbessern. Die Best Practice für AEM ist, ein Cache-Trefferverhältnis von 90 % oder höher zu erreichen.

Weitere Informationen finden Sie unter Optimieren der CDN-Cache-Konfiguration.

Das AEM WKND-Projekt verfügt über eine CDN-Referenzkonfiguration. Weitere Informationen finden Sie unter CDN-Konfiguration in der Datei wknd.vhost.

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69