Webサーバのキャッシュについてまとめてみた

Webサーバのキャッシュについてまとめてみた


こんにちは、けちょです。

仕事でWebサーバを使用していますが、理解を深めるためにWebサーバ(特にキャッシュ)についてまとめてみました。

※キャッシュについては、サーバだけでなくクライアントにも存在しますが、今回は触れません。

Webサーバとは


Webページの表示に必要なコンテンツ(HTML、JavaScript、CSS等)を配信するための、サーバアプリケーションの一種です。

  • Apache HTTP Server(アパッチ。単に Apache と言うことも)
  • Internet Information Services(IIS)
  • nginx(エンジンエックス)

キャッシュとは


クライアントからのリクエストに対して、Webサーバはレスポンスとしてコンテンツを配信します。

クライアント数が少ない場合は、レスポンスを返すまでのオーバーヘッドは微々たるものですが、1,000台を超えるような多数のクライアントをさばく場合は、コンテンツ生成~配信までのオーバーヘッドが問題になってきます。


その問題を解決するのが、キャッシュという機能です。


キャッシュ機能は、クライアントからリクエストがあったコンテンツを一定時間、サーバ内のキャッシュディレクトリに格納し、他のクライアントから同一のリクエストがあった場合は、キャッシュディレクトリから配信することで、コンテンツ生成~配信までのオーバーヘッドを減らすことを目的としています。

キャッシュの特性

メリット

  • オーバーヘッドの低減
  • 多数のクライアントが少数のコンテンツをリクエストする場合、最も大きな効果が得られる

デメリット

  • 必ずしもサーバの最新データが配信されるとは限らない
  • クライアントごとに多種多様なコンテンツを配信する場合、キャッシュのメリットが得られない場合がある

サーバー管理カテゴリの最新記事