Akamai Diversity
Home > Web Performance > キャッシュ効率の上げ方 その1

キャッシュ効率の上げ方 その1

アカマイを利用するならば、なるべくキャッシュ効率を高めて、サイトの表示速度を上げオリジンWebサーバの負荷を下げたいですね。

キャッシュ効率について考えるために、まずアカマイのキャッシュの仕組みについて理解しておきましょう。

アカマイのキャッシュの仕組み

caching01.png

アカマイサーバは、オリジンWebサーバに代わってクライアントのHTTPリクエストを受け、その URL のキャッシュを持っていない場合には、Web サーバ(オリジンサーバ)からコンテンツを取得してキャッシュすると同時にクライアントにWebコンテンツを返します。
既にキャッシュを持っている場合には、キャッシュを返すことで高速にWebコンテンツを表示します。

キャッシュの index をキャッシュキーと呼びますが、このキャッシュキーとして、基本的にはURL ごとに一意のキーが割り当てられます。


キャッシュできるコンテンツ

アカマイサーバにキャッシュさせるコンテンツは、基本的には、どのユーザにも同じ内容を表示して問題無いコンテンツです
静的コンテンツはもちろんキャッシュ対象となります。動的コンテンツであっても、リクエストURLに対して、どのユーザにも同じコンテンツをレスポンスとして返す場合にはキャッシュすることができます。

  • 基本的にキャッシュして問題無いコンテンツ
    caching02-cachablecontents.png

  • キャッシュキーのカスタマイズ等によりキャッシュできるコンテンツ
    同じURL がユーザごとに異なるレスポンスを返すような動的コンテンツであっても、アカマイサーバ側のカスタマイズ設定によりキャッシュできるタイプのものもあります。このキャッシュ効率化については、次回詳しく説明します。



基本的なキャッシュ設定方法

アカマイのキャッシュ動作は、サイトごとに独立した設定ファイルで柔軟に設定できます。キャッシュ基本設定を「キャッシュTTL(Time To Live: 生存期間)ルール」と呼び、「リクエストURLのパターン」「キャッシュ TTL」の組み合わせを指定します。

(キャッシュTTL ルール設定例)
caching03-ttlrules.png

リクエスト URL のパターンは上から順に評価され、リクエストURLに最後にマッチしたパターンのキャッシュTTLが適用されます。このため、キャッシュTTLルールは、大まかなルール→詳細なルールの順で設定します。

上記の例では、たとえば /common/logo.gif  は7日間キャッシュされ、どのパターンにもマッチしない /top.html はキャッシュされず毎回オリジンサーバからコンテンツを取得する、というキャッシュ動作になります。


次回は、アカマイのキャッシュ効率を上げるための主な方法を紹介します。

 

キャッシュ効率の上げ方 その2

Leave a comment