.Net架構網站又一傳奇:PlentyOfFish.com
這個叫PlentyOfFish的網站, 它只有一個員工,每天只干兩小時活,但是卻被估值$1000000000。
PlentyOfFish在山姆大叔家里算是一個很火的online dating網站,網站取名字來自這句話:There is plenty of fish in the sea. 對應的中文意思是“天涯何處無芳草”。 Fish的意境雖然差了一點,但是卻更加形象地表達了“遍地撒網,中心釣魚”的泡妞的法則。 PlentyOfFish每個月有4500多萬的訪問用戶,每天3000多萬點擊率。這個流量實際上并不夸張,平均算下來大概也就是500-600 request/s,峰值可能會更加高一點。在國內,我們可以發現douban.com就和它有的一拼,流量可能也差不了多少了。但是網站價值差多少倍偶就不知道了。通過和一般的互聯網公司比較,大家可能認為這么流量也不小的公司怎么也要上百人左右,但它的確是只有一個干活的,這人就是Markus Frind。還有個非正式的好像是他女朋友,有時候幫他回回用戶來信。當網站每個月能夠收入4000塊錢時候這個家伙就辭掉了全職工作,開始學著做SEO和競價排名等等了。當我第一次訪問這個網站的時候,第一感覺就是這也太土了把。但是或許正是因為它的土,它的默默無聞,使得沒有人愿意去抄襲,去hack它。但有點我們得承認,Markus在網站內容和廣告方面的確處理的很好,的確有不少值得我們學習的地方。
PlentyOfFish作為一個交友網站,我們或許并沒有發現它有什么特殊的地方,也沒有發現讓人想尖叫的feature,但或許真是細節往往決定成敗。它的成功的關鍵因素可能就是在基本功能方面能很符合用戶的需要,在UE方面做的也比較貼心,同時也讓用戶能夠坦然接受這個免費網站的UI的丑陋和服務的不穩定性,而更為愿意通過這個平臺來發布一些內容,share一些個人圖片,通過這個網站來找靚妞或者帥哥dating了。 PlentyOfFish允許它的用戶上傳很多照片,據統計已達到了6TB,然后允許每個用戶可以對其它用戶的照片進行打分,這中間的交互過程可能是給了用戶帶來很多自我表達的機會,使得他們開始沉迷于這個網站。PlentyOfFish在用戶資料真實性方面做了很多工作,提供了各種舉報和打假功能,估計站長每天就是在刪除這些搗亂用戶了。然而它的流行并不能阻止我們對那個1后面加很多0的估值的疑問?它憑什么值那么多美元?PlentyOfFish并沒有收取任何注冊用戶的費用,而是宣稱100% Free。那他到底怎么掙錢的呢?難道他有什么絕佳的盈利模式idea?實際上和我們很多人一樣,就是僅僅靠網站打點廣告,收點廣告費。而我們加上阿里媽媽廣告條,每個月只能給自己增加點零花錢,但是他現在一年可以從google Adsense混到1000萬美元還多。TMD,眼紅,口水直流…..而且這個數據應該已經過時了。一個站長能把一個網站推到如此規模,我不知道這個星球上還有沒有一個可以和他比肩的人。有的話你讓他站出來,偶馬上跪拜在地……師傅,教我J……
Markus,他和我一樣,不是我和他,呵呵,只會使用.Net,所以想做個網站,也只好從用asp.net開始了。正是這個網站的簡單想法,使得一個具有傳奇意義的互聯網產品誕生了。至于Markus當時怎么bootstrap這個網站,以及怎么一步一步做大,我就不得而知了。PlentyOfFish的后臺采用的技術和產品可能和我們大部分使用.Net的網站一樣,下面我們就來一起簡單分析一下它的后臺架構。
- Web框架和服務器:Asp.net+IIS+ Windows x64 Server 2003
- Web Server: 2 個做負載均衡的web servers , 基本配置是 2 Quad Core Intel Xeon X5355 @ 2.66Ghz), 8 G RAM (使用了大約800 MBs), 2 hard drives
- DB Server: 3臺SQL Server,采用master-slave架構,兩臺負責read操作,master那臺負責寫操作。這個和myspace早期的后臺數據庫架構是一樣,看來這種架構很流行嘛。
- Internet connection: 1Gbps 使用了大概200Mbps。
- CDN: 使用了Akamai的服務,每天要傳輸1.7億張圖片
- 圖片規模:6TB左右,數億張圖片
- 資源狀態:Everything is dynamic. Nothing is static。沒有使用asp.net內部cache機制,資源很快就Expire了。
- 壓縮: 所有的request數據都使用了gzip壓縮,大概耗費了30%的CPU,但是降低了帶寬成本。歐美的帶寬不便宜。
- Load Balance: 使用了ServerIron ,而不是NLB(windows負載均衡解決方案)。 ServerIron 比NLB便宜而且簡單很多。
- Performance Monitor: Windows Task Manager,夠牛
- I/O操作: 因為內容很難cache,所以花了很多功夫在db performance tuning上。
- Memory和CPU: 把最近常使用的圖片直接放在內存中,所以內存會那么大;CPU配置也挺好,gzip是相當耗費CPU計算的。
Markus說他碰到問題基本上是IO操作方面的瓶頸,很少是被.Net block住。Markus在Session,Farm,以及數據庫反范式等很多方面都有很不錯的經驗,很值得我們學習和借鑒,更多的細節大家可以參考后面的鏈接的幾篇文章。
Markus最近也有了新的計劃,他做了一些讓POF進一步發展的計劃:
- 盈利模式發生一些改變,不僅僅依靠google ads。希望從所有用戶身上榨取更多的美元出來。
- 打算打造一個營銷團隊
- 觀察競爭對手然后加入新的功能
- 考慮使用Amazon S3存儲來達到地域分布式load balanced。就像建立多個data centers一樣。主要可能是S3價格相當便宜。
作者:shawnliu
出處:http://www.cnblogs.com/liushouzhao
參考文章: