オリジンへのリクエストを90%削減

← すべてのプロジェクト
01 / 性能改善 · 2008年

静的配信をWebサーバーから外す

Akamai CDNを導入し、約90%のオブジェクトを利用者の近くでキャッシュ。ベアメタルのオリジン負荷を軽減しました。

~90% 利用者の近くでキャッシュしたオブジェクト
プロジェクトの話を読む

出発点

2008年、Web基盤は1台のロードバランサーとベアメタルサーバーで構成され、キャッシュ層はありませんでした。静的コンテンツも直接Webサーバーへ届きます。気象サービスでは天候や大きな出来事で需要が激しく変わり、普段の約20倍のアクセスが来る日もありました。小売のBlack Fridayのような増え方に対応できる、拡張可能な仕組みが必要でした。

ボトルネック

リクエストが増えると、使えるソケットが限界に達しました。何度もオリジンから返す必要のない内容が多くても、サイトが応答しなくなることがありました。

変えたこと

Akamaiで約90%のオブジェクトを近くにキャッシュでき、オリジンに届くリクエストは約10%に。約90%の負荷を外せたため、Webサーバー群も縮小できました。

運用の選択肢も増えた

混雑日には、適した内容のキャッシュ時間を延ばして、さらにオリジン負荷を下げられました。全体に同じ設定をかけるのではなく、どこなら長く保てるかを選べるようになりました。

学んだのは、繰り返し配る内容を利用者に近づけ、キャッシュポリシーを性能だけでなく運用の手段として扱うことです。過去の事例の概要であり、インフラの識別情報や内部の運用詳細は省いています。