2/28/2008

Friends for Sale :一天一千萬 Page View 的 Rails Service

app_3_7019261521_7189.gif



Friends for Sale 是一個在 FaceBook 上面排行前十的 Facebook App,最近他公佈他的資料,他是 Ruby on Rails 寫的。他上面有 60萬個會員,一個月 3億個 PV,並且以每個月 300%繼續成長。上個月流量是 3T,不過大部份都是圖片的支出。



架構是標準的 Rails Cluster,Front end 是 Nginx,Application Server 是 Mongrel。



他們學到課程如下



  1. 如果在Facebook 上面開發 APP,一開始就要想到 Scaling Problem(四周就衝到 1 m pv/day)


  2. Ruby on Rails can scale


  3. Performance Problem 是在 DB,你需要有很好的 DBA


  4. Cache 用的好,DB 不嫌少


他們使用



  1. Ruby on Rails


  2. CentOS 5


  3. Memcached


  4. MySQL 5.1


  5. Nginx


  6. Starling( Distribute Queue Server)


  7. Dr. Nics Magic Multi-Connections Gem ( Read Write 不同個 DB)


使用硬體



  1. 6台 4 core 的 App Server,每台 16 Mongrel Instance,並且每台都放 4GB Memcached 。


  2. 4台 DB Server,上面配備 32GB 4 core servers with 4x 15K SCSI RAID 10 disks,使用 Master-Slave,用 Multi-Connection Gem 來達成 Read Write 不同 DB。


  3. 1 Starling Server


  4. 1 frontend server









沒有留言: