11/05/2006

Rails 的 High Traffic 負載度

看了對岸的 《程序员》10期特别策划:Web开发之华山论剑裡面的評論,裡面有一段(原文為簡體,我直接翻譯成繁體
如果你打算用 Rails 給自己寫個 Blog 或是小型的 Web 2.0 應用很合適,比如 37 Signal 開發的 Basecamp.com 和 Robot Co-op 開發的 43Things.com 採用 Rails,這些Web2.0 的小應用每天頁面訪問幾十萬,數據庫紀錄數不到百萬,負載是比較輕的。
看完真是無言,43Things 最好 Traffic 那麼少,根據 Alexa 的數據,43Things.com 的 Daily Reach 每天大約是 600 Million 。雖然 Alexa 的數據準確性有很多人質疑(我是很質疑這個數字啦),不過這個流量數要硬說成只有幾十萬也差太多了吧。

我列一下一些用 Ruby on Rails 的高 traffic 站台。我之所以用 Alexa 的原因是因為我不可能拿到下面站台的 Traffic 營運資料,所以我只能使用看似不是很準的 Alexa 來比較。

  1. A List Part:Alexa 上面的數字最高衝到 1500 Million Day Reach ,已經是流量很不錯的站台了,Daily Reach 今年一度到達國內 Webs TV 網站的一半
  2. Penny Arcade:Alexa 800 Million Daily Reach,數字是蕃薯藤新聞的兩倍。
  3. 43Things.com:今年上半年 Daily Reach 跟 A List Part 差不多,Alexa 數字是 600 Million Daily Reach,依照比例大概比蕃薯藤新聞多了一點Daily Reach。
  4. Odeo.com:這個站依照 Alexa 大概也跟蕃薯藤新聞差不多,不過少了一點。他是 Podcast 聲音檔案的網站,頻寬的消耗度是相當可怕。(雖然 Ruby on Rails 的覆載度跟 Handle 頻寬的能力,沒有直接關係XD
  5. jobster:一個找工作的 Social Network,平常上去的人不多,只有一二月跟八九月特別多人(找工作的旺季),流量大的時候跟現在的樂多差不多流量。
  6. Basecamp:讓 Ruby on Rails 誕生的指標性網站, Daily Reach 大致上跟 Odeo.com 差不多。我有使用過一段時間,他的權限系統相當的複雜,不用 Ruby on Rails 那麼簡單的東西寫會很難寫。
  7. Eins.de:雖然比他流量大的網站還很多,但是 procs.net 在這篇文章有特別講到他的架構。軟體使用純 Open Source 的架構,硬體使用光華商場叫的到的貨色,一天可以服務 1.2 Million 動態網頁。對 Ruby on Rails 的高覆載度有問題嗎,這篇文章可以打破你的疑惑。
  8. Hemidemi:我所知道國內第一個 Ruby on Rails 網站,站長是我學長 XD,這一兩個月成長開始爆發。
  9. JaveEye:我最常舉的例子,根據通过JavaEye2.0网站看ruby on rails性能這篇的說法,JavaEye 只用到一台光華商場買的到的機器,也就是 Web Server ,DB Server ,Mail Server ,Search Server 都在同一台。純 Open Source 的架構,一天處理個 50 萬應該沒問題。
如果這些網站,還無法堵住『如果你打算用 Rails 給自己寫個 Blog 或是小型的 Web 2.0 應用很合適』這樣的嘴,那麼我也沒話說了。因為 Ruby on Rails 很年輕,所以用 Ruby on Rails 開發的站台大多營運時間只有一年不到,一個新興網站其實有上面那麼多流量其實已經很嚇人了。如果再過個一年,或許會有流量更驚人的 Ruby on Rails 網站出現。

最後,當網站負載度到達一定程度,任何語言都不能可能承擔這樣的流量,所以網站的負載度還是看彼此的架構好壞,不是取決於語言本身,絕對沒有一個站台只靠 PHP 或是 CGI 就可處理所有Request 的。語言或是框架對於乘載度的差別在於『轉換高流量負載架構的彈性』,這點 Ruby on Rails 作的真的不差。

PS. Measure Map 是用 Ruby on Rails 寫的,已經被 Google 買下來。

沒有留言: