Twitterの舞台裏
PHPSPOT開発日誌に「Twitterの中の話」として、Twitterを支えているアプリケーション周りのお話が掲載されてました。
ということで、早速気になったところを抜き出すと
- 言語はRuby on Rails・・・ここもRoRだったか!
- httpdはApacheではなくMongrel・・・最近サービス系のサイトはApache以外のhttpdを使ってることが多いような気がする。
しかし、一番驚いたのはDB環境。MySQLを使っているのは、まぁふつうとして、1MySQL Server (one big 8 core box) and 1 slave ということなので、合計2台のDBサーバですべてまかなってしまっている!いくらデータが小さいとはいえ、今や世界中から利用されているのに・・・
トラフィックの数字では、MySQLサーバは1秒間に2400リクエスト、処理に平均50〜100ミリ秒だそうです。サービスの内容としてはReadだけでなくWriteのリクエストもかなりくると思うのですが、問題なく処理しちゃってるようです。
ちなみに、8Coreのサーバとなると、HPC(Hight Performance Computing)の分野でWindowsやSUN辺りに製品が存在しますが、どれも数百万円はする代物・・・ちなみにMacの場合、Mac Proが8Core対応していて、例えば
- CPU: 3.0GHz Quad-Core Intel Xeon × 2
- RAM: 16GB(8×2GB)
- HDD: 1.5TB (RAID0+1/750GB SATA 3Gbps 7,200rpm × 4)
という構成で140万円ほど・・・う〜ん、パフォーマンスいいなぁ。




9 月 19th, 2007 at 9:46 am
DBやWebサーバなども当然ながらチューンアップしていると思いますが、HPCとはいえ1サーバでTwitterレベルのサービスを世界に提供できるというのは、驚くとともに「我々でも出来る(かもしんない)」と思わせてくれて夢がありますね!Mongrelは初見でしたが、Ruby製とのことでRoRなるほどって感じです。すごいなRuby。
9 月 20th, 2007 at 11:14 am
そう!夢がありますよね!なんだかワクワクしてしまうところにTwitterの魅力を感じてるのかもしれません。
ちなみにRoRですが、実は環境変数を定義してやれば指定した場所にインストールすることが出来るようです。実際にSakuraのレンタルサーバにインストールしてアプリを動かしちゃった人のブログを見つけました。今度試してみようと思います。成功したらCakePHPと並んで怖いものなしな予感ですw