サーバロードバランス
インターネットの大きな問題として、あるサイトに訪れる多数のユーザーによる負荷を如何に制御するかという問題がある。この問題はサイトの成長に伴って発生するスケーラビリティの問題でもある。負荷分散を実現する手法はいくつかあり、ウィキメディア財団も負荷分散を行っている。2004年6月時点で同サイトが行っている負荷分散手法は以下の組合せである。
DNSラウンドロビンにより、ページ要求を3つのSquidサーバに平等に分散させる。
Squidサーバは応答時間を測定しており、7台のWebサーバにページ要求を分散させる。さらに Squid のキャッシュにより要求の75%はWebサーバを煩わせることなく応答できる。
各WebサーバにはPHPスクリプトが動作していて、要求の種類によっていくつかのデータベースサーバに負荷を分散する。すなわち、更新要求はマスターデータベースに渡されるが、クエリは複数のスレーブデータベースに分散される。
他にもレイヤ4スイッチを使った手法や、オープンソースの負荷分散機能であるLinux Virtual Serverを使う手法がある。UNIX系での負荷分散手法としてリバースプロキシがある(HAProxy など)。適切なモジュール構成にすれば、Apache や Lighttpd などのWebサーバもリバースプロキシとしての働きをする。