すべてのプロダクト
Search
ドキュメントセンター

CDN:更新とプリフェッチに関するFAQ

最終更新日:Feb 29, 2024

このトピックでは、Alibaba Cloud CDNの更新およびプリフェッチ機能を使用する際によくある質問に対する回答を提供します。

リフレッシュとプリフェッチの違いは何ですか?

  • 更新: すべてのPOPにキャッシュされているリソースを期限切れとしてマークします。 POPがリクエストを受信すると、POPはリクエストをオリジンサーバーにリダイレクトして、リクエストされたリソースを取得します。 次に、リソースがクライアントに返され、POPにキャッシュされます。 リフレッシュ機能により、キャッシュヒット率が低下します。

  • プリフェッチ: オリジンサーバーからリソースをプリフェッチし、POPにリソースをキャッシュします。 POPが要求を受信すると、POPは、要求されたリソースをクライアントに直接返す。 プリフェッチ機能により、キャッシュヒット率が向上します。

リフレッシュとプリフェッチは順番に実行されますか?

リフレッシュとプリフェッチは異なる動作であり、必ずしも厳密なシーケンスに従うとは限らない。 しかしながら、実際には、2つの動作は、アプリケーションシナリオに基づく自然な論理的順序を伴い得る。 オリジンサーバーのリソースが更新され、Alibaba Cloud CDN のキャッシュを更新したい場合:

  1. 最初に更新: キャッシュ内の古いファイルが削除されます。 このようにして、訪問者はその後のアクセスでオリジンサーバー上の最新のリソースを取得できます。

  2. 後でプリフェッチ: キャッシュ内のファイルがリフレッシュされた後、最新のコンテンツがプリフェッチされ、POPにキャッシュされます。 これにより、訪問者はリクエストされたリソースをできるだけ早く取得できます。

  3. Alibaba Cloud CDN を初めて使用するときは、キャッシュは存在しません。 この場合、POPにリソースをプリフェッチできます。

更新とプリフェッチのために、オリジンサーバーのURLまたは高速化ドメイン名に対応するURLを入力する必要があるのはですか?

リフレッシュとプリフェッチは、高速化ドメイン名でホストされているコンテンツに対して実行されます。 したがって、高速化ドメイン名に対応するURLを入力する必要があります。 これは、Alibaba Cloud CDN が高速化ドメイン名を使用してキャッシュを識別および管理し、高速化ドメイン名の指定されたURLからリクエストを更新またはプリフェッチするためです。 これにより、POP上のキャッシュが最も早い機会にプレロードまたは更新されることが保証される。

ワイルドカードドメインのキャッシュを更新するにはどうすればよいですか?

Alibaba Cloud CDN は、ワイルドカードドメインのすべてのキャッシュコンテンツを直接更新することはできません。 したがって、https:// * .example.com/file01.htmlまたはhttps:// * .example.com/file02/は入力できません。 代わりに、特定のサブドメインまたは特定のURLのディレクトリの更新要求を送信する必要があります。 各行にURLを1つだけ入力してください。

リフレッシュとプリフェッチタスクが有効になるまでにどれくらい時間がかかりますか?

  • 更新タスクは、送信後5〜6分で有効になります。 更新するリソースのTTLが5分未満の場合は、更新タスクを手動で実行するのではなく、有効期限が切れるまで待機します。

  • プリフェッチタスクを完了するのに必要な時間は、プリフェッチするファイルのサイズに比例します。 ほとんどの場合、ほとんどのプリフェッチタスクは完了するのに5〜30分かかります。 平均ファイルサイズが小さいタスクは、完了するまでの時間が短くなります。

プリフェッチ用にカスタムリクエストヘッダーを含めることはできますか?

デフォルトでは、プリフェッチ要求にはAccept-Encoding:gzipヘッダーが含まれます。 プリフェッチ要求に他のヘッダーを含めたい場合、またはマルチレプリカプリフェッチを実装する場合は、PushObjectCache操作を呼び出し、WithHeaderパラメーターを設定してカスタムプリフェッチヘッダーを指定できます。

更新とプリフェッチの1日のクォータを増やすにはどうすればよいですか?

  • URLとディレクトリの更新

    デフォルトでは、各Alibaba Cloudアカウントは、1日あたり最大10,000のURLとサブディレクトリを含む100ディレクトリからコンテンツを更新できます。 Alibaba Cloudアカウントの1日あたりのピーク帯域幅が200 Mbit/sを超える場合、クォータ管理の指示に従ってクォータの増加をリクエストできます。

  • 正規表現に基づくリソースの更新

    デフォルトでは、各Alibaba Cloudアカウントは、1日あたり最大20個の正規表現を含む更新ルールを送信できます。 Alibaba Cloudアカウントの1日あたりのピーク帯域幅が10 Gbit/sを超える場合、チケットを起票し、クォータの増加をリクエストします。

  • プリフェッチ

    デフォルトでは、各Alibaba Cloudアカウントは1日あたり最大1,000のURLプリフェッチタスクを送信できます。 Alibaba Cloudアカウントの1日あたりのピーク帯域幅が200 Mbit/sを超える場合、クォータ管理の指示に従ってクォータの引き上げを申請できます。

    各Alibaba Cloudアカウントのプリフェッチキューには、最大100,000個のURLを含めることができます。 Alibaba Cloud CDN は、URLの送信時刻に基づいてプリフェッチタスクを実行します。

自動更新またはプリフェッチはサポートされていますか?

更新およびプリフェッチタスクを自動化する方法については、「コンテンツを更新およびプリフェッチするスクリプトの実行」をご参照ください。

プリフェッチタスクが完了したかどうかを確認する方法は?

  1. Alibaba Cloud CDNコンソール

  2. 左側のナビゲーションウィンドウで、更新 & プリロード をクリックします。

  3. アクション パラメーターを プッシュ に設定し、URLフィールドにURLを入力し、送信 をクリックします。 レコード タブで、プリフェッチタスクの詳細と進行状況を表示できます。 プリフェッチタスクは、進捗が100% に達すると完了します。 プリフェッチするオブジェクトが多数ある場合、プリフェッチタスクの完了に長時間を要する場合があります。

    説明

    プリフェッチタスクのステータスが成功すると、タスクが送信されます。

  4. 次のコマンドを実行して、プリフェッチタスクの進行状況を照会します。

    curl -I 'http:// example.aliyundoc.com/test.json'

    次の図は、サンプル出力を示しています。 TB1oFf2JFXXXXa9XXXXXXXXXXXX.png

    説明
    • Viaの前半はL2 POPのステータスを表します。 「H」は、ヒットを表し、ファイルが既にL2 POPにプリフェッチされており、オリジンサーバからロードされる必要がないことを示す。

    • Viaの後半は、L1 POPのステータスを表します。 「M」は、L1 POP上にキャッシュが存在せず、L2 POPからデータをロードしなければならないことを示す。

参考資料

DescribeRefreshTaskById操作を呼び出して、更新およびプリフェッチタスクのステータスを照会できます。 詳細については、「DescribeRefreshTaskById」をご参照ください。

Alibaba Cloud CDNによってドメイン名が高速化された後、名前を変更せずにファイルを更新するにはどうすればよいですか?

Alibaba Cloud CDNを使用してリソースへのアクセスを高速化する場合、次の方法でファイルを更新できます。

プリフェッチタスクが失敗するのはなぜですか?

次の理由により、プリフェッチタスクが失敗する場合があります。

  1. 誤ったURL: プリフェッチするリソースのURLが正しいかどうかを確認します。 これには、スペルミス、誤ったパス、または存在しないファイルがないことの検証が含まれます。 次に、ブラウザを使用してURLにアクセスできることを確認します。

  2. 利用できないオリジンサーバー: オリジンサーバーがオーバーロードまたはダウンしているかどうかを確認します。 オリジンサーバーに期待どおりにアクセスできない場合、プリフェッチタスクは失敗します。

  3. 過剰なタスク: 多数のプリフェッチタスクを同時に送信すると、システムがビジーであるために一部のタスクが失敗する可能性があります。 オリジンサーバーの帯域幅が過度に圧迫されないように、リソースをバッチでプリフェッチすることをお勧めします。

  4. リソースはキャッシュできません:

    • プリフェッチするリソースがキャッシュできるかどうかを確認します。 Alibaba Cloud CDN は、オリジンヘッダーの設定に準拠しています。 リソースのCache-Controlヘッダーがno-cacheno-store、またはprivateに設定されている場合、リソースをキャッシュすることはできません。

    • Expiresまたはmax-ageの値を確認します。 パラメーター値が0でないことを確認してください。 ゼロ以外の値は、リソースをキャッシュできることを示します。

    Alibaba Cloud CDN のキャッシュルールの詳細については、「デフォルトのキャッシュルールとキャッシュルールの優先順位」をご参照ください。

  5. 送信されたディレクトリプリフェッチ要求

Alibaba Cloud CDNの更新およびプリフェッチ機能を使用した後、要求されたリソースが更新されないのはなぜですか。

発生原因

次のセクションでは、考えられる原因について説明します。

  • 以前のブラウザのキャッシュがアクセスされ、返されます。

  • オリジンサーバーのリソースは更新されません。

  • 更新とプリフェッチのタスクが完了していません。

ソリューション

  • ブラウザのキャッシュをクリアし、webページを更新します。

  • ローカルhostsファイルを変更して、ドメイン名をオリジンサーバーにマップします。 次に、オリジンサーバーのリソースが更新されているかどうかを確認します。 リソースが更新されていない場合は、オリジンサーバーのリソースを更新し、Alibaba Cloud CDN を使用します。

  • にログインします。 Alibaba Cloud CDNコンソールで更新とプリフェッチタスクが完了したかどうかを確認します。 タスクが完了していない場合は、タスクを再実行することを推奨します。 詳細については、「リソースの更新とプリフェッチ」をご参照ください。

HTTPページとHTTPSページを個別にプリフェッチする必要がありますか?

いいえ、ページの1つのみをプリフェッチする必要があります。 たとえば、https://example.com/aaa.mp4をプリフェッチした場合、http://example.com/aaa.mp4をプリフェッチする必要はありません。

M3U8ファイルをプリフェッチできますか

Appleによって開発されたM3U8は、ビデオストリーミングに使用されるHTTPライブストリーミング (HLS) ベースのプレイリストファイル形式です。 M3U8はM3U形式の拡張であり、「8」はテキストがUTF-8にエンコードされていることを示します。 この形式は、オンラインおよび連続ストリーミングサービスで一般的に使用されます。 M3U8ファイルは、ビデオファイル (通常はTSまたはMP4ファイル) のセグメントのURLパスを格納するプレーンテキストファイルです。

プリフェッチできるのはM3U8ファイルのみです。 リスト内で参照される各TSセグメントは、自動的にプリフェッチされない。 スクリプトを使用してM3U8ファイルをプリフェッチできます。 詳細については、以下をご参照ください。 スクリプトを使用してM3U8ファイルを更新およびプリフェッチ