一個大型網站需要多少伺服器?
01-07
以我知道的攜程為例子,攜程日均動態PV是3千萬左右。攜程一共有5個數據中心,6000多台伺服器,支持著1500個在線應用程序。
每宕機一秒鐘,攜程的損失是7000RMB。攜程期望把宕機率控制在0.05%,也就是平均一小時宕機1秒的水平。
即使在這種情況下,一年下來網站宕機造成的損失也高達5千萬人民幣。
只是對基礎架構有些好奇,一直想了解運營一個大型網站需要的硬體設施成本。
拋磚引玉了,歡迎其他同志分享下,比如百度、阿里這種。
還是拿StackExchange來說吧,當然業務不同沒法直接比,僅作參考。
Performance - Stack Exchange
560 Million每月,平均每天1800+w。
用了9 Web Servers,4 SQL Servers,2 Redis Servers,3 Tag Engine Servers,3 ElasticSearch Servers,2 HAProxy Servers,每台機器只用了10%左右的資源,其中也包含所有的容錯機。
看上去差距還是很大的,數量級的差距。當然StackExchange團隊的風格是把代碼性能優化到極致,不是一個普通團隊能做到的。不過就算考慮到這點,數量級的差距還是有點說不過去。需要看業務複雜度的。
(1)非複雜交互流程的普通網站,例如新聞類的,因為交互簡單,即使PV非常大也不會要很多台機器。單台Nginx伺服器處理靜態頁面,可以達到幾千甚至幾萬QPS(當然這只是個理論值,算上頁面體積大小、寬頻等因素,通常達不到的)。(2)交互複雜的系統,例如你上面說的攜程。複雜的用戶交互和存儲,支付流程和銀行等各種第三方交互,強保證系統穩定和容災。這些東西加上,就會讓機器的需求增加很多倍。
將系統剖析出來,對比業務複雜度,然後再對比機器數量才更有意義。還有一點,機器配置也有好壞。新的伺服器性能可能幾倍甚至十倍於老機器,一點都不奇怪。視訪問量和數據量來決定吧?大型網站雖然伺服器多,但是也不可能盲目增加,因為這裡面有成本和利潤的關係。不過當訪問量和數據量達到一定級別,升級超級伺服器的成本應該沒有購買普通伺服器組陣列來的划算。而且超級伺服器有配置極限。
百萬pv,獨立站點,目前三台
垃圾站百萬pv我一台伺服器也能搞呀。加點別的複雜應用百萬pv六七十台伺服器也正常。
人人網pv也是千萬級別,也是幾千台伺服器。還是看業務複雜度吧
推薦閱讀: