画像データだけ分離して別サーバに置くべし
WEBサイトを開設した時には1台のWEBサーバですべてのアクセスを処理できていたとして、アクセスが増えてくるとWEBサーバを複数台用意して負荷分散を行わなければならなくなります。その時一番シンプルな方法、すなわち全てのデータを複数台のWEBサーバにコピーして負荷分散をするというやり方を行うことも決して悪くはないのですが、もっと良い方法がありますのでご紹介します。
WEBサイトのデータには、かなり大雑把に分類してHTMLファイル、画像ファイル、CGI等によって動的に生成されたファイルの3種類があります。今回私が推奨するのはこの中の「画像ファイル」だけ切り離して別サーバ、ここではイメージサーバと呼びます、に置くことです。
このメリットは
1. 画像ファイルは単なる静的なデータなので、高機能で重くてApacheの変わりに低機能だけど軽いWEBサーバを使える。
2. (今後執筆しますが)将来イメージサーバと相性の良いキャッシュサーバもしくはCDNサービスが利用できる。
3. プログラマーが関わるWEBサーバと、デザイナーが関わるイメージサーバというように明確に分離できる。
というところになります。
またサーバのボトルネックについても考えやすくなります。通常のWEBサーバはCPU,メモリ使用量,TCPコネクション数の3つのボトルネックについて気にする必要があります。しかしイメージサーバではCPU処理がほとんどないため、通常TCPコネクション数についてだけ気にしていればよいことになります。つまり安価なサーバにRedHat Linux+Tux Web Serverという構成であっても驚くべきパフォーマンスを得られることになり、大幅なコストダウンにつながります。
「WEBサーバ 【人気】」カテゴリの記事
- WEB上からapacheの生ログを見ることができるようにするプログラム(2010.10.28)
- KeepAliveについて考える(2004.06.11)
- メンテナンス画面を簡単に出してみる(2007.07.09)
- httpd.confがどこにあるか簡単に見つけ出す方法(2008.11.12)
- サーバにアンチウィルスソフトを入れない選択(2009.03.17)

Comments
あと、HTTP/1.1の制限である同一ドメインからの並列ファイル取得は2つまで、という制限から開放される(画像が別ドメインなら)、というのがあるのではないでしょうか。
Posted by: tf0054 | January 29, 2008 at 01:03 AM
>tf0054さん
おおお、それはよいですね。目からうろこの発想です!!!
Posted by: sanonosa | March 10, 2008 at 11:28 AM