查ICP網:全新的綜合網站備案信息查詢網
Copyright ? 2008-2028 www.mshuangcha.com [ 查icp] All Rights Reserved.
無論是企業自己投建IT資產還是選用IDC托管,或者采用云主機,我們都要面臨一個問題,那就是選擇服務器的硬件配置,選購硬件配置時要根據服務器的應用需求而定。因為只通過一臺服務器是無法滿足所有的需求,并解決所有問題的。以下是選購租用服務器主要考慮的一些因素:
服務器要運行什么應用
需要支持多少用戶訪問
需要多大空間來存儲數據
業務有多重要
服務器網卡方面的考慮
安全方面的考慮
機架安排是否合理化
服務器價格是否超出預算
1.服務器運行什么應用?
應用類型決定服務器的性能、容量和可靠性要求。
負載均衡端:除了網卡要求,其它方面要求低;LVS方案,會將所有連接要求轉給后端web應用服務器;Haproxy負載均衡器,由于它的運行機制跟LVS不一樣,流量必需雙向經過HAproxy機器本身,對CPU運行有要求
緩存服務器:主要是Varnish和redis,對CPU及其他方面要求一般,但在內存方面要求盡量多謝。
應用服務器:承擔了計算和功能的雙重責任,需要為基于web架構的應用程序服務器選擇足夠快的服務器,另外應用服務器可能要用到大量的內存,尤其是基于windows基礎架構的Ruby/Python/Java服務器。
特殊應用:用于除了web架構的應用程序外,如果服務器還要出來流媒體視頻編碼/服務器虛擬化/媒體服務器,或者游戲服務器(邏輯/地圖/聊天)運行,那么同樣對CPU和內存的需求比較高;
公共服務:郵件服務器/文件服務器/域控服務器/DNS服務器,通常都會部署兩臺互相備份,所以對于可靠性,無須過于苛刻。郵件服務器至少具備足夠的硬件可靠性和容量大小,這主要是對郵件數據負責。
數據庫服務器:足夠快的CPU、足夠大的內存、足夠穩定可靠的硬件。如果預算充分,建議用固態硬盤做RAID10,因為數據庫對服務器磁盤I/O要求很高。
2.服務器需要支持多少用戶訪問?
服務器就是用來給用戶提供某種服務訪問的,所以使用這些服務的用戶同樣是我們必須考慮的因素,可以從下面幾個具體的方面進行評估:
有多少注冊用戶
正常情況下有多少用戶會同時在線?每天同時在線訪問的最高峰值大概多少?
3.需要多大空間來存儲數據
關于這個問題需要從兩個方面來考慮,一方面是有哪些類別的數據,包括:操作系統本身占用的空間,安裝應用程序所需要的空間,應用程序所產生的數據、數據庫、日志文件、郵件數據等,如果網站是web2.0的,還要計算每個用戶的存儲空間;另一方面是從時間軸上來考慮,這些數據每天都在增長,至少要為未來兩三年的數據增長做個準確的預算,這就需要軟件開發人員和業務人員一起來提供充分的信息了。最后將計算出來的結果乘上1.5左右的系數,以方便維護的時候做各種數據的備份和文件轉移操作。
4.我的業務有多重要
根據自身的業務領域來考慮,舉個領子,有助于理解這些服務器對可靠性、數據完整性等方面的要求:
如果服務器運行一個WordPress博客,那么一臺酷睿處理器的服務器,1GB內存,外加160GB的硬盤就夠了。就算服務器出現一點硬件故障,導致幾個小時不能提供訪問,生活也會照常繼續;
如果服務器是用作測試平臺,則不會如生產系統那樣對可靠性有極高的要求,做需要的可能只是做好例行的數據備份即可,若服務器宕機,只要能夠在當天解決問題即可;
如果是一家電子商務公司的服務器,運行電子商務網站平臺,當硬件發生故障導致宕機時,你需要對以下“危言聳聽”的后果做好心理準備:投訴電話被打爆、顧客大量流失、顧客要求退款、市場推廣費用打水漂、員工無事可干、公司運營陷入癱瘓狀態、數據丟失。
如果是大型廣告類或者門戶類網站,那么建議選擇CDN系統。由于他們具有較高的響應速度、負載均衡、有效抵御DDoS攻擊等特點,相對而言,每個節點都會有大量的冗余。
這里其實只是簡單地討論下業務對服務器硬件的可靠性要求。要全面地解決這個問題,不能只考慮服務器的硬件,還需要考慮系統架構的規劃設計。
(1)選擇什么CPU
如果業務剛剛起步,預算不是很充足,建議選擇一款經典的酷睿服務器,這可以幫你節約大量的成本。而且,以后還可以根據業務發展的情況,隨時升級到更高配置的服務器。
如果需要在一臺服務器上運行多種應用服務,例如基于LNMP架構的Web網站,那么一個單核至強或新一代I5(雙核四線程)講師最佳的選擇。雖然從技術角度來說,這并不是一個好主意,但至少能節省一大筆成本。
如果服務器要運行MySQL或者Oracle數據庫,而且目前有幾百個用戶同時在線,未來還會增長,那么至少應該選擇安裝一個雙四核服務器。
(2)需要多大的內存
相比于CPU,內存(RAM)才是影響性能的最關鍵因素。因為在很多正在運行的服務器中,CPU的利用率一般都在10%-30%之間,甚至更低。但由于內存容量不足而導致服務器運行緩慢的案例比比皆是,如果服務器不能分配足夠的內存給應用程序,那么應用程序就需要通過硬盤接口緩慢地交換讀寫數據了,這將導致網絡慢的令人無法接受。
無論是Apache還是Nginx服務器,一般情況下Web前端服務器都不需要配置特別高的內存,尤其是在集群架構中,4GB的內存已經足夠了。如果用戶數量持續增加,我們才會考慮使用8GB或更大的內存。單個Apache Web機器,在配置了16GB的內存后,可以抗6000個并發連接。
對于運行Tomcat、Resin、Weblogic的應用服務器,8GB內存應該是基準配置。
數據庫服務器的內存有數據庫實例的數量、表大小、索引、用戶數量等來決定,一般建議配置16GB以上的內存;
諸如Postfix和exchange這樣的郵件服務器對內存的要求并不高,1GB-2GB就可以滿足了。
還有一些特殊的服務器,需要為之配置盡可能大的內存容量,比如配置有Varnish、Memcached的緩存服務器。
事實上,由于內存技術不斷進化,價格不斷降低,因此才得以近乎奢侈地討論4GB、8GB、16GB這些曾經不可想象的內存空間容量。
(3)需要怎樣的硬盤存儲系統
硬盤存儲系統的選擇和配置時整個服務器系統里最復雜的一部分,需要考慮硬盤的數量、容量、接口類型、轉速、緩存大小,以及是否按照RAID卡、RAID卡的型號和RAID級別問題。甚至在一些高可靠性高性能的應用環境中,還需要使用怎樣的外部存儲系統(SAN、NAS、DAS)。
如果用作緩存服務器,比如Varnish或Redis,可以考慮使用RAID0;
如果是跑Nginx+FastCGI或Nginx等應用,則可以考慮用RAID1;
如果是內網開發服務器或存放重要代碼的服務器,則可以考慮用RAID5;
如果是跑MySQL或Oracle等數據庫應用,可以考慮用固態硬盤做RAID5或RAID10;
5.網卡方面的考慮
如果基礎架構師多服務器環境,而且服務器之間有大量的數據交換,那么建議為每臺服務器配置兩個或更多的網卡,一個用來對外提供服務,另一個用來做內部數據交換。如果在項目外端都置于防火墻內,許多時候單網卡就足夠了。建議大家選用萬兆網卡。另外,建議交換機也要選擇千兆網卡級別的。如果經常使用AWS EC2機器,AWS將機器的網卡分成了3個級別:Low(20Mbit/s)、Moderate(40Mbit/s)、High(80~100Mbit/s)。
6.服務器安全方面的考慮
目前國內的DDoS攻擊還是比較普遍的,因此建議給每個項目方案和自己的電子商務網站配置硬件防火墻,雖然這些問題是網站后期運營維護需要考慮的,這里只是讓大家有個概念性的認識。此外,建議租賃CDN服務,這樣萬一不幸遭遇惡意的DDos流量攻擊,CDN還能幫助抵擋部分惡意流量,核心機房的業務不至于在很短的時間內就會崩潰。
7.根據機架數合理安排服務器的數量
選擇服務器時應該明確服務器的規格,即到底是1U、2U還是4U的,到底有多少臺服務器和交換機,應該如何安排,畢竟機柜只有42U的容量。
8.成本考慮:服務器的價格問題
無論公司采購,還是項目實施過程中,成本都是非常重要的問題。筆者的方案經常退回,理由是超出預算。我們經常面對的問題是,客戶給出的成本預算有限,而實際應用又需要比較多的服務器,這時候,就不得不另外設計一套最小化成本預算方案來折中處理。