CDN キャッシュヒット率の分析

最終更新日: 2024-01-26
  • トピック:
  • Operations
    このトピックの詳細を表示
  • CDN Cache
    このトピックの詳細を表示
  • 作成対象:
  • Intermediate
    Admin
    Developer

CDN でキャッシュされるコンテンツは、Web サイトユーザーが経験する待ち時間を短縮します。ユーザーは、要求が Apache/Dispatcher またはAEMパブリッシュに戻るのを待つ必要はありません。 このことを念頭に置いておくと、CDN でキャッシュ可能なコンテンツの量を最大限に増やすために、CDN キャッシュのヒット率を最適化することが重要です。

提供されるAEMas a Cloud Serviceの分析方法を説明します CDN ログ とは、次のようなインサイトを得る キャッシュヒット率、および の上位の URL MISS および パス キャッシュの種類、最適化のために使用します。

CDN ログは JSON 形式で利用できます。この形式には、以下のような様々なフィールドが含まれています。 url, cache. 詳しくは、 CDN ログ形式. cache フィールドでは、キャッシュの状態​に関する情報を提供し、その考えられる値は HIT、MISS または PASS です。考えられる値の詳細を確認してみましょう。

キャッシュの状態
考えられる値
説明
HIT リクエストしたデータは CDN キャッシュ内で見つかるので、AEM サーバーに取得リクエストを行う必要はありません
MISS リクエストしたデータは CDN キャッシュ内で見つからないので、AEM サーバーからリクエストする必要があります
PASS リクエストされたデータは​キャッシュされないように明示的に設定​され、常に AEM サーバーから取得されます。

このチュートリアルの目的は、 AEM WKND プロジェクト がAEMas a Cloud Service環境にデプロイされ、 Apache JMeter.

このチュートリアルは、次の手順を実行するように構成されています。

  1. Cloud Manager を使用した CDN ログのダウンロード
  2. これらの CDN ログの分析。ローカルにインストールされたダッシュボード、またはリモートからアクセスした Jupiter Notebook(Adobe Experience Platformのライセンスを持つユーザー向け ) の 2 つの方法で実行できます。
  3. CDN キャッシュ設定の最適化

CDN ログのダウンロード

CDN ログをダウンロードするには、次の手順に従います。

  1. my.cloudmanager.adobe.com で Cloud Manager にログインし、組織とプログラムを選択します。

  2. 必要な AEMCS 環境の場合は、省略記号メニューから「ログをダウンロード」を選択します。

    ログのダウンロード - Cloud Manager
  3. ログをダウンロード​ダイアログで、ドロップダウンメニューから​公開​サービスを選択し、cdn 行の横にあるダウンロードアイコンをクリックします。

    CDN ログ - Cloud Manager

ダウンロードしたログファイルが​今日​のファイルである場合、ファイル拡張子は .log です。それ以外で、過去のログファイルの場合、拡張子は .log.gz です。

ダウンロードした CDN ログの分析

キャッシュヒット率や MISS および PASS キャッシュタイプの上位の URL などのインサイトを得るには、ダウンロードした CDN ログファイルを分析します。 これらのインサイトは、CDN キャッシュ設定を最適化し、サイトのパフォーマンスを向上させるのに役立ちます。

CDN ログを分析するには、次の 2 つのオプションを紹介します。 Elasticsearch、ログスタッシュ、きばな (ELK) ダッシュボードツール および Jupyter Notebook. ELK ダッシュボードツールは、ノートパソコンにローカルにインストールでき、Jupyry Notebook ツールにリモートからアクセスできます Adobe Experience Platformの一部として Adobe Experience Platformのライセンスを持つユーザー向けに、追加のソフトウェアをインストールしないで

オプション 1:ELK ダッシュボードツールの使用

ELK スタックは、データを検索、分析、視覚化するためのスケーラブルなソリューションを提供するツールのセットです。Elasticsearch、Logstash、Kibana で構成されます。

重要な詳細を特定するには、AEMCS-CDN-Log-Analysis-ELK-Tool ダッシュボードツールプロジェクトを使用してみましょう。このプロジェクトでは、ELK スタックの Docker コンテナと、CDN ログを分析するための事前設定済みの Kibana ダッシュボードを提供します。

  1. ELK Docker コンテナの設定方法の手順に従って、CDN キャッシュヒット率 Kibana ダッシュボードを読み込む必要があります。

  2. CDN キャッシュヒット率と上位の URL を特定するには、次の手順に従います。

    1. ダウンロードした CDN ログファイルを環境固有のフォルダー内にコピーします。

    2. を開きます。 CDN キャッシュヒット率 ダッシュボードを表示するには、左上隅のナビゲーションメニュー/ Analytics /ダッシュボード/CDN キャッシュヒット率をクリックします。

      CDN キャッシュヒット率 - Kibana ダッシュボード
    3. 右上隅から目的の時間範囲を選択します。

      時間範囲 - Kibana ダッシュボード
    4. CDN キャッシュヒット率​ダッシュボードは一目瞭然です。

    5. 合計リクエスト分析」セクションには、次の詳細が表示されます。

      • キャッシュタイプ別のキャッシュ率
      • キャッシュタイプ別のキャッシュ数
      合計リクエスト分析 - Kibana ダッシュボード
    6. リクエストまたは MIME タイプ別の分析​には、次の詳細が表示されます。

      • キャッシュタイプ別のキャッシュ率
      • キャッシュタイプ別のキャッシュ数
      • 上位の MISS および PASS URL
      リクエストまたは MIME タイプ別の分析 - Kibana ダッシュボード

環境名またはプログラム ID によるフィルタリング

取り込んだログを環境名でフィルタリングするには、次の手順に従います。

  1. CDN キャッシュヒット率ダッシュボードで、「フィルターを追加」アイコンをクリックします。

    フィルター - Kibana ダッシュボード
  2. フィルターを追加​モーダルで、ドロップダウンメニューから「aem_env_name.keyword」フィールドを選択し、次のフィールドに is 演算子と目的の環境名を選択して、最後に「フィルターを追加」をクリックします。

    フィルターを追加 - Kibana ダッシュボード

ホスト名別のフィルタリング

取り込んだログをホスト名でフィルタリングするには、次の手順に従います。

  1. CDN キャッシュヒット率ダッシュボードで、「フィルターを追加」アイコンをクリックします。

    フィルター - Kibana ダッシュボード
  2. フィルターを追加​モーダルで、ドロップダウンメニューから「host.keyword」フィールドを選択し、次のフィールドに is 演算子と目的のホスト名を選択して、最後に「フィルターを追加」をクリックします。

    ホストフィルター - Kibana ダッシュボード

同様に、分析要件に基づいて、ダッシュボードにフィルターを追加します。

オプション 2:Jupyter ノートブックの使用

ソフトウェアをローカルにインストールしない(前の節の ELK ダッシュボードツール)場合は、別のオプションもありますが、Adobe Experience Platformのライセンスが必要です。

Jupyter Notebook は、コード、テキスト、ビジュアライゼーションを含むドキュメントを作成できるオープンソース web アプリケーションです。データの変換、ビジュアライゼーション、統計的モデリングに使用されます。 リモートからアクセス可能 Adobe Experience Platformの一部として.

インタラクティブ Python ノートブックファイルのダウンロード

まず、 AEM-as-a-CloudService - CDN ログ分析 — Jupyter Notebook ファイルに含める必要があります。 この「Interactive Python Notebook」ファイルは説明に基づいて説明できますが、各セクションの主な特徴は次のとおりです。

  • 追加のライブラリをインストールtermcolor および tabulate Python ライブラリをインストールします。
  • CDN ログを読み込む:を使用して CDN ログファイルを読み込みます。 log_file 変数の値に設定します。必ず値を更新してください。 また、この CDN ログを Pandas DataFrame に変換します。
  • 分析の実行:最初のコードブロックは _合計、HTML、JS/CSS およびイメージリクエストの分析結果を表示_キャッシュヒット率の割合、棒グラフおよび円グラフを表示します。
    2 番目のコードブロックは、 HTML、JS/CSS、画像の MISS および PASS リクエスト URL の上位 5 件​の場合に、URL とその数を表形式で表示します。

Jupyter ノートブックの実行

次に、次の手順に従って、Adobe Experience Platformで Jupyter ノートブックを実行します。

  1. Adobe Experience Cloud にログインし、ホームページ/「クイックアクセス」セクション/Experience Platform をクリックします

    Experience Platform
  2. Adobe Experience Platform ホームページ/「データサイエンス」セクションで、Notebooks メニュー項目をクリックします。Jupyter Notebooks 環境を開始するには、「JupyterLab」タブをクリックします。

    Notebook ログファイル値の更新
  3. JupyterLab メニューで、「ファイルをアップロード」アイコンを使用して、ダウンロードした CDN ログファイルと、aemcs_cdn_logs_analysis.ipynb ファイルをアップロードします。

    ファイルをアップロード - JupyteLab
  4. aemcs_cdn_logs_analysis.ipynb ファイルをダブルクリックして開きます。

  5. ノートブックの「CDN ログファイルを読み込み」セクションで、log_file 値を更新します。

    ノートブックのログファイルの値の更新
  6. 選択したセルを実行して先に進むには、「再生」アイコンをクリックします。

    ノートブックのログファイルの値の更新
  7. 合計、HTML、JS/CSS および画像リクエストの分析結果を表示​コードセルを実行すると、出力にキャッシュヒット率の割合、棒グラフおよび円グラフが表示されます。

    ノートブックのログファイルの値の更新
  8. HTML、JS/CSS および画像の上位 5 つの MISS および PASS リクエスト URL コードセルを実行すると、出力に上位 5 つの MISS および PASS リクエスト URL が表示されます。

    ノートブックのログファイルの値の更新

Jupyter Notebook を拡張し、要件に基づいて CDN ログを分析できます。

CDN キャッシュ設定の最適化

CDN ログを分析した後、CDN キャッシュ設定を最適化してサイトのパフォーマンスを向上させることができます。AEM のベストプラクティスは、キャッシュヒット率を 90%以上にすることです。

詳しくは、CDN キャッシュ設定の最適化を参照してください。

AEM WKND プロジェクトには参照 CDN 設定があります。詳しくは、wknd.vhost ファイルの CDN 設定を参照してください。

このページ