百萬級營運經驗四:伺服器的選擇和部署

來源:互聯網
上載者:User

對伺服器的選擇,我曾經盲目過。流量大了伺服器頂不住怎麼辦,我那時候的想法就是加配置,4核變8核,8核變16核,記憶體也加,4GB變8GB變16GB,為什麼不加伺服器呢,麻煩嘛,覺得提高伺服器配置的效果也是一樣的。後來我才明白,這種想法是錯誤的,還是停留在個人電腦的思維。

我發現,增加了伺服器配置並不能給我帶來相應的效能提升,我對伺服器和作業系統沒有特別深的瞭解,我個人覺得原因如下:

首先,大部分軟體沒有針對多核CPU進行最佳化,即便有最佳化,也無法百分百的利用CPU的資源,軟體或系統對多核CPU資源的調度應該沒有特別完善。

第二,我猜測,CPU跟記憶體,CPU跟硬碟之間的匯流排頻寬應該是固定的,就好比房間很大,但房門很小,還是需要一個個排隊進來。

第三,一般網站程式對CPU要求不高,網站的主要效能瓶頸在於硬碟的IO,由於硬碟IO速度是固定的,增加CPU並不能提高硬碟的IO效能。

我的看法是,把一台8核8GB記憶體的伺服器換成兩台4核4GB的伺服器會好很多,也就是1+1>2,根據木桶原理,硬碟IO就是那塊短板。

為什麼呢,因為兩台伺服器就相當於得到了兩倍的CPU匯流排,兩倍的硬碟IO,就好比一個房間開了兩個門,客人進入房間的速度就會快很多,CPU和記憶體的資源也能得到充分的利用。

兩台伺服器,可以做負載平衡,也可以把網站分成兩個應用分別放在不同的伺服器上。通常我會這樣分,一般的網站都會分為PC版和手機版,那麼我就把PC版放在一台伺服器,手機版放在另一台伺服器,兩邊代碼互不影響,然後通過nginx兩台伺服器互相反向 Proxy,再加上負載平衡,不管哪台伺服器出問題,都能快速定位到。

我對網站架構的設計思想是,把大網站打散,分成各個獨立的應用,比如:使用者中心、註冊登入、PC端、手機端等等,實際情況實際分析,然後把不同的應用放在不同的伺服器上,其它應用就通過反向 Proxy連結到對應的伺服器上,形成一個網,不管訪問哪一台伺服器,都能通過這台伺服器訪問到其它的伺服器。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.