アクセス数の少ないサイトはCDN入れても逆効果かも

WordPress

ページのダウンロード時間は1秒以下にすべき? | ず@沖縄の続きです。

最近はCDNの費用も安くなって、AWS CloudFront や無料のCDNを使っている人も多いと思います。でも、アクセス数の少ないサイトだと実は高速化されずに、上納金を払ってるだけなんじゃないかと思うのです。

CDNを使うメリットは高速化だけではなく、大量のアクセスが捌けるしDoS対策にもなるので、そちらを重視して使う意味は十分にあります。

CDNで高速化される理由

ここを読んでいる人は既に知っていると思うけど動作原理。CDNはWebページへのアクセスをキャッシュすることで、キャッシュヒット時の応答時間を短縮する効果があります。キャッシュミスがある場合は、オリジンサーバーにデータを取りに行くので、CDNが介在している分だけ損になります。

世界中からアクセスのあるサイトの場合は、アクセス元に近いエッジサーバーから応答を返すことで、より高速に応答を返せます。Amazon Clooud Front の場合は「26 か国 59 都市にある 132 個の接続ポイント (121 個のエッジロケーションと 11 個のリージョン別エッジキャッシュ)」※1を使っているそうです。

※1 製品の詳細 – Amazon CloudFront | AWS



高速にならないサイト

CDNの効果はページへのアクセス頻度とキャッシュ保持時間によって変わります。1日に1回程度しかアクセスされないページの場合、キャッシュ保持時間が1日以下ならキャッシュミス多発です。CDNのオーバーヘッド分だけ損します。

エッジロケーションが複数あるCDNの場合は、エッジごとにキャッシュされるので要検証、各エッジごとのアクセス数はさらに減るはずです。

前回記事で「特にGoogle Botは全ページ舐めるので、キャッシュにヒットしないのが普通」と書いたのは、以上のような理由です。

また、CDNによっては、DNS lookupが遅いところもあり、そのような場合はさらに効果が減ります(あるいは逆効果になります)。

CDNの効果をどのように判断するか?

利用者からのアクセスは特定のページに集中する傾向があるので、ヒット率だけを見れば十分効果的に見えることもあります※1。前述のような理由でCDNのオーバーヘッドが大きなサイトでも同様です。詳しく解析しないとキャッシュの有効性は判断できません。

※1 特定ページが高速になれば良いサイトなら、CDNは有効だと思います。

当たり前のことだけど、何のために・どのような利用を想定してCDNなり高速化技術を使うかが大事。

WordPress

Posted by ず@沖縄