最高のパフォーマンスを実現するための CIS デプロイメントの管理
IBM Cloud® Internet Services (CIS) は、画像を最適化し、Web コンテンツをエンド・ユーザーにできる限り近い場所に保存することで、お客様の顧客に最速のエクスペリエンスを提供できます。 お客様のコンテンツは、プロキシー・エッジ・サーバーから読み込まれます (これにより、遅延を低減します)。
CIS では、Web コンテンツの読み込みを加速するベスト・プラクティスを使用して、サイトのパフォーマンスをさらに高めることができます。 ここでは、CIS で Web コンテンツのパフォーマンスを向上させるためのベスト・プラクティスについて具体的に説明します。
推奨事項とベスト・プラクティス
- 静的および準静的な Web コンテンツをできる限り多くキャッシュする
- イベント・ドリブン・コンテンツについては、API を使用してキャッシュをパージする
ベスト・プラクティス 1: 静的および準静的な Web コンテンツをできる限り多くキャッシュする
- 静的な HTML Web ページには、**「すべてキャッシュする (Cache Everything)」**を有効にする
- 時々変更するコンテンツには、従来の**「存続時間 (TTL)」**を使用する
時々変更するコンテンツには、従来の TTL (存続時間) を使用する
コンテンツがめったに変わらない場合は、従来の TTL を設定してできる限り多くのキャッシュを利用します。 再検証要求の割合が高い場合は、顧客に悪影響を与えることなくコンテンツの TTL を増やすことができます。 キャッシュを効果的に使用すると、再検証の頻度が少なくなるので、パフォーマンスが向上します。
アイテムがキャッシュされているかどうかを調べる方法
CIS はオブジェクトをキャッシュしようとするときに応答ヘッダー CF-Cache-Status
を追加します。 キャッシングが正常に行われると、状態を示す次のキーワードのいずれかがこのヘッダーの値に設定されます。
- MISS: 資産はまだキャッシュに存在していませんでした。または TTL の期限が切れていました (つまり、キャッシュ制御の最大経過時間 0 に達していました)。
- HIT: 資産はキャッシュから配信されました。
- EXPIRED: この資産はキャッシュから配信されましたが、次の要求には再検証が必要になります。
- REVALIDATED: 資産はキャッシュから配信されました。 TTL の期限は切れていましたが、オリジンへの
If-Modified-Since
要求によって、資産が変更されていないことが判明しました。 したがって、キャッシュにあるバージョンが再度有効と見なされました。
ベスト・プラクティス 2: イベント・ドリブン・コンテンツの場合は、キャッシュをパージする
例えば、お客様のブログに新しい投稿が追加されるたびに、 CIS キャッシュを簡単にパージできます。 イベント・ドリブン・コンテンツを表示することは一般的ですが、 CIS では、失効したコンテンツがユーザーに到達しないことを確実にします。 グローバル・ネットワーク全体でキャッシュを即時にパージするコマンドは、以下のとおりです。
- Purge all files
- Purge by prefixes (Enterprise only)
- Purge by hostnames (Enterprise only)
- Purge by tags (Enterprise only)
- Purge by URLs
Purge all files
キャッシュ全体を強制的に再検証するオプションがあります。 すべての要求が発信元サーバーにルーティングされるように、キャッシュに保管されているすべてのオブジェクトをリセットすることができます。
Purge by prefixes (Enterprise only)
エンタープライズ・プラン・ユーザーは、URL 接頭部または URL 内のパス分離文字によってキャッシュをパージできます。 例えば、 https://www.example.com/foo/bar/baz/qux.jpg
などの URL に対する有効なパージ要求には、以下のものがあります。
www.example.com/
www.example.com/foo/
www.example.com/foo/bar/
www.example.com/foo/bar/baz/
www.example.com/foo/bar/baz/qux.jpg
接頭部によるパージは、ディレクトリー内のすべてをパージする場合、または特定のパス内のキャッシュ・オブジェクトに対する制御を強化する場合に役立ちます。 また、実行されたパージ呼び出しの数を単純化することもできます。
Purge by hostnames (Enterprise only)
ホスト名によるパージは、接頭部によるパージと似ています。 ホスト名のリストを使用して、それらのホスト名に関連付けられたすべてのアセットのキャッシュをパージします。
Purge by tags (Enterprise only)
タグを使用すると、削除したいコンテンツのグループを定義することができます。 これは、一緒に変更されることが多いオブジェクトをまとめることができる優れた方法です。 例えば、HTML ブログ投稿とそのすべてのイメージ・コンテンツを一緒にタグ付けすることができます。 モバイル専用コンテンツもキャッシュ・タグを使用してまとめられるので、モバイル・ドメインに新しい更新をプッシュするときにすべてをパージできます。
Purge by URLs
URL によるパージを使用すると、キャッシュに入れられたリソースは、すべてのデータ・センターにわたって Content Delivery Network (CDN) 内の保管された資産から即時に削除されます。 パージされたアセットに対する新しい要求は、起点 Web サーバーから最新バージョンを受け取り、要求を処理した特定のデータ・センター内の CDN キャッシュに追加して戻します。
高度なキャッシング機能を使用する
Cookie のキャッシュをバイパス (Bypass Cache on Cookie): ページ・ルールでこの機能を設定すると、特定の名前の Cookie が存在しない限り、キャッシュにあるオブジェクトを提供できます。 例えば、顧客がログインしていることを示す SessionID
Cookie が検出されたので、パーソナライズされたコンテンツを表示しなければならないという場合を除き、ホーム・ページのキャッシュ・バージョンを提供したりできます。