ジョエル・スポルスキー氏の「StackOverflow.com」、構成はわずか4台のPCサーバ
元マイクロソフトのプログラマで書籍「Joel on Software」などでも知られる著名なプログラマであるジョエル・スポルスキー氏が立ち上げた、プログラマ向けのQ&Aサイト「Stack Overflow」。
月間1600万ページビュー、300万ユニークビジターのこのWebサイトがどのような構成になっているのか、Webサイト「High Scalability」の記事「Stack Overflow Architecture」に分かりやすいまとめが掲載されていました。
最大の特徴はスケールアップ型
Stack Overflowの特徴は2つあります。1つはスケールアップ型のアーキテクチャだということです。現代のマルチコア、大容量メモリ、パラレルプログラミング技術においては、スケールアップ型のアーキテクチャも重要な選択肢だと記事では説明しています。
その説明の通りStack Overflowでは、基盤としてマイクロソフトのSQL Serverを用い、それを48GBのメモリと8コアのCPUを備えたサーバで固めています。システムをうまく設計、構築すればこのスペックでこれくらいのWebサイトを十分支えられる、という見本になるでしょう。
そしてもう1つは基盤となるソフトウェア群をマイクロソフト製品で構成していることです。一般的にはLinux、Apache、MySQL、PHP/Perlなどのオープンソースソフトウェアを利用するところで、Stack OverflowではWindows Server、Internet Information Server、SQL Server 2008、ASP.NETを利用しています。
こうしてみると、Stack Overflowは一般のネットベンチャーが採用するであろう、オープンソースでスケールアウト型のアーキテクチャとは対局的なアーキテクチャを採用するWebサイトであることが分かります。
では以下にその構成を紹介しましょう。
Webサイト
- 1600万ページビュー/月間
- 300万ユニークビジター/月間
- 600万訪問者/月間
- トラフィックの86%がグーグル経由
- 世界中の900万人のアクティブプログラマのうち30%が利用している
ソフトウェア
- Microsoft ASP.NET MVC
- SQL Server 2008
- C#
- Visual Studio 2008 Team Suite
- jQuery
- LINQ to SQL
- Subversion
- Beyond Compare 3
- VisualSVN 1.5
ハードウェア/Web層
- Lenovo ThinkServer RS110 1U × 2台
- Xeon 3360 Quad-core CPU(4 cores, 2.83 Ghz, 12 MB L2 cache)
- 8GB RAM
- 500GB RAID 1 mirro array
ハードウェア/データベース層
- Lenove ThinkServer RD120 2U × 1台
- Xeon 3320 × 2way( 4cores×2 , 2.5 Ghz, 24 MB L2 cache)
- 48GB RAM
Stack Overflow内の記事「New Stack Overflow Server Glamour Shots - Blog - Stack Overflow」では、2種類のサーバの内部構成を写真で紹介しています。
トピック
- 4台目のサーバが追加されている。この4台で「Stack Overflow」「Server Fault」「Super User」の3つのサイトを運営している
- バックアップをクラウドで行おうと検討したが、毎日5GBも転送するのは回線代がかかるのでやめてNASにした
- ホスティング先はhttp://www.peakinternet.com/。きめ細かな対応と価格で決めた
- SQL Serverのフルテキストサーチで、過去に似たような質問がないかを検索している。Lucent.netも(フルテキストサーチ機能の)代替案として魅力的だ
- すべてのネットワークドライバをアップデートしたら、性能が2倍になった
- CPU性能はデータベースにとって非常に重要だ。1.8Ghzから2.5Ghzへ、そして3.5Ghzまでは典型的な検索性能がほとんどリニアに向上していく。例外はクエリがメモリに乗らなかったときだ。
- ボトルネックの時間の90%はデータベースだ
詳細はぜひ元記事の「Stack Overflow Architecture」を参照してみてください。
関連記事 on Publickey
参考記事 on the Web
あわせて読みたい
Google WaveとSAPとの連係で見えてくる、業務アプリケーションのフロントエンドとしてのGoogle Wave
≪前の記事
マルチタッチのアプリが開発可能になるFirefox 3.6は、早くも11月登場予定