LOG IN SIGN UP
Documentation

キャッシュ設定ベストプラクティス

  Last updated October 03, 2018

リクエスト増や計画的なサーバーメンテナンスに備えて、オリジンサーバーの最適なパフォーマンスを確実にするために、サービスのキャッシュ設定に関して以下のベストプラクティスを考慮してください。

キャッシュヒット率の確認

キャッシュサーバーによって配信されたリクエスト数をキャッシュ可能なリクエスト数 ( ヒット+ミス ) で割り算した値を " キャッシュヒット率 " と呼びます。キャッシュヒット率が高いというのは、無駄なオリジンサーバーへのリクエストを減らし、代わってキャッシュサーバーから配信できていることになります。一般的には可能な限りキャッシュヒット率は高く、通常90%を超えたいと考えます。キャッシュヒット率は、サービスの Stats ページについて で確認できます。

フォールバック TTL の設定

キャッシュを保持することができる時間のことを "time to live" または TTL といいます。TTL はオリジンサーバーから応答されるキャッシュに関するヘッダーにより設定されます。該当コンテンツにキャッシュに関するヘッダーが設定されてない場合であっても、フォールバック TTL ( デフォルト TTL とも言われます。 ) を明示的に設定することができます。

初期値としては、フォールバック TTL は 3600 秒( 60 秒)に設定しています。これは期待しないエラーの原因を調査するのに十分な時間で、問題が解決したら後、キャッシュをパージすることができます。 TTL はいつでも以下の方法で変更可能です。:

  1. Fastly コントロールパネルにログインし、Configure のリンクをクリックします。
  2. サービスメニューから設定対象のサービスを選択します。
  3. Configuration ボタンをクリックし、Clone active を選択すると設定画面が開きます。
  4. Settings のリンクをクリックし、Settings 設定画面を開きます。
  5. Fallback TTL にある TTL 設定の横にある鉛筆マークをクリックしてください。
  6. Change the Fallback TTL の枠に新しい TTL を秒で入力してください。
  7. 設定を保存するため Save をクリックしてください。

Fastly で一時的に失効済みコンテンツを配信する設定

もしオリジンサーバーが長時間利用不可能な状態になる場合(例えば、メンテナンスの実施)、一時的に失効済みコンテンツの配信をすることが有効です。失効済みコンテンツの配信は、かなり頻繁にコンテンツの更新・公開を実施するような場合も有用です。

stale-while-revalidate または stale-if-error を Cache-Control or Surrogate-Control ヘッダーに追加することにより、Fastly に失効済みコンテンツの配信をさせることができます。失効済みコンテンツの配信 により詳細な内容が記載されてます。

ファーストバイトタイムアウト時間を減らす

一時的に失効済みコンテンツの配信の設定をした後に、ファーストバイトタイムアウト時間を削減することは、オリジンサーバーから新しいコンテンツを取得している間にリクエストしてきたユーザーに対してより早く失効済みコンテンツの配信をするようになります。ファーストバイトタイムアウト時間の削減と同時に失効済みコンテンツの配信を設定することは不要なファーストバイトタイムアウトエラーが原因の 503 の発生を減らすことになります。オリジンサーバーに対するファーストバイトタイムアウト時間を減らす方法は以下のとおりです。:

  1. Fastly コントロールパネルにログインし、Configure のリンクをクリックします。
  2. サービスメニューから設定対象のサービスを選択します。
  3. Configuration ボタンをクリックし、Clone active を選択すると設定画面が開きます。
  4. Origins のリンクをクリックし、Origins 設定画面を開きます。
  5. Hosts にある対象オリジンサーバーの横にある鉛筆マークをクリックすることで設定変更ページが表示されます。
  6. ページの下の方にある Advanced options をクリックすることで、詳細オプションが表示されます。
  7. First byte timeout の枠に新しいファーストバイトタイムアウトをミリ秒で入力します。15000 ミリ秒は、初期値として十分な値です。
  8. Update をクリックし設定を保存します。

Cache-Control ヘッダーの値を増やす

リクエスト増の間、Cache-Control ヘッダーに設定する値を増やすことにより、Fastly により長時間コンテンツをキャッシュさせることが出来ます。 Cache-Control または Surrogate-Control ヘッダーの max-age を変更することをご検討ください。オリジンサーバーによるキャッシュ時間の変更 により詳細が記載されてます。

カスタムエラーページの検討

サイトのダウンが避けられない場合、標準のエラーメッセージは、最適なユーザエクスペリエンスではないかもしれません。ユーザーに対して適切な特定の情報を含むカスタムエラーメッセージを作ることをご検討ください。カスタムエラーページの作成 により詳細の記載があります。

Fastly のカスタマーサポートについて

大規模なイベントを実施される場合には、事前にご連絡を頂くことでより的確なサポートが可能となります。以下の詳細情報をサポートまでご連絡 下さい。:

もし オリジンサーバーに対するセキュリティのバリデーションテストのようなイベントを予定されている場合には、ペネトレーションテストガイド を先にご確認ください。


Back to Top