DIY服務器主要配件詳解
其實說到服務器,目前最熱門的應用無非就是做Web支持和網(wǎng)游平臺,國內大部分采購服務器作為網(wǎng)游應用的都是私服,屬于侵犯知識產(chǎn)權的行為,雖然短期內容易盈利,但是是違法的,國內已經(jīng)有架設私服被判刑的先例,所以不便多做討論,今天想就我個人這幾年架設WEB服務器的經(jīng)驗跟大家談談WEB服務器和服務器硬件方面的搭配問題。
很多中小型企業(yè)的技術人員或者打算以網(wǎng)站、盈利的個人團體組織都經(jīng)常提出這么一個疑問:究竟什么樣的配置可以支持多大的流量?
其實這個問題不可能有準確答案,因為每個網(wǎng)站使用的Web系統(tǒng)都不一樣,有些喜歡用IIS+ASP,有些則是用Apache+PHP,這在腳本的執(zhí)行效率上本身就存在很大的差異,另外,網(wǎng)頁系統(tǒng)編寫的復雜程度和優(yōu)化程度也極大的影響著服務器能夠承載的訪問人數(shù),大部分的新聞資訊、下載類網(wǎng)站都已經(jīng)使用了靜態(tài)頁面來減少Web系統(tǒng)對服務器處理能力的依賴,但是仍然有不少例如論壇、商城一類的系統(tǒng)需要大量動態(tài)代碼的支持,所以籠統(tǒng)的去談論一個服務器能夠支持多少訪問量是沒有實際意義的,還是需要具體的去分析:
首先說說CPU,我們知道,大部分的Web腳本為了安全起見都是在服務器端執(zhí)行的(Javascript例外),而這些腳本就相當于我們用VB或者C++編程時使用的高級語言,不同的是我們用VB這些軟件編程,編輯軟件最后會把我們的代碼編譯成執(zhí)行效率更高的可執(zhí)行軟件,而我們的Web腳本在保存時是不會被編譯的,都是在用戶請求訪問這個頁面時才被相關的編譯器進行編譯操作,這樣一來,結果就是一個頁面被訪問N次,就得被編譯N次,這樣對系統(tǒng)資源的占用是非??膳碌?,雖然IIS已經(jīng)對.NET進行優(yōu)化,會將被訪問過的頁面編譯后緩存起來,下次其他用戶進行相同請求時不再需要對這個頁面進行編譯,但網(wǎng)頁腳本的復雜性和龐大性最終還是大量的占用系統(tǒng)資源尤其是處理器資源,這就是為什么熱門論壇同時多人在線服務器會變得很慢。其實現(xiàn)在的服務器配置,大多是P4 3.2G或者雙路Xeon 3.0G,這樣的配置對于動態(tài)論壇這種極度消耗資源的系統(tǒng)仍然沒有足夠的支持能力,根據(jù)我的經(jīng)驗,一個服務器上如果是純粹一個動態(tài)論壇而沒有其他應用,采用P4 的處理器大概也就同時支持200-300人在線,如果是Web系統(tǒng)效率較高,腳本優(yōu)化得好,還可以再多100~200人,如果是雙路Xeon,千人在線也差不多是極限了。所以,到目前位置,如果想做訪問量、想做人氣,選用性能比較強勁的CPU還是有足夠理由的,個人比較推崇的還是采用Xeon 系統(tǒng),P4 畢竟是入門級的配置,雖然雙核 P4D 性能已經(jīng)比以前大幅提升,但在多任務處理中,雙路 Xeon 的表現(xiàn)還是遙遙領先,而且對于多客戶訪問的支持也更加穩(wěn)定。
當然,有人可能會問:如果是靜態(tài)頁面為主的站點,是不是對處理器的要求就比較低了?答案是肯定的。靜態(tài)頁面不需要經(jīng)過編譯,基本就看網(wǎng)絡帶寬和網(wǎng)卡,如果是圖片多的網(wǎng)站,硬盤最好也換成SCSI,高轉速高緩存的SCSI硬盤對于多而小的文件讀取更有優(yōu)勢,而且穩(wěn)定性更好,壽命也更長。
接下來說說內存,不管是靜態(tài)頁面的網(wǎng)址還是動態(tài)頁面的網(wǎng)站,最好都盡量使用大容量內存,尤其是現(xiàn)在的服務器,內存的運行速度已經(jīng)不是什么重要問題,DDR 333、DDR 400或者DDR2 其實區(qū)別都不大,最重要的只有兩點:內存的容量和糾錯(如ECC)。由于服務器有大量的數(shù)據(jù)需要臨時緩存到內存里,所以訪問量大的時候內存的占用也是較大的,而當內存不夠用的時候,虛擬內存的工作壓力就非常大,其實就是磁盤工作壓力會很大,而系統(tǒng)程序跟數(shù)據(jù)緩存操作不斷的爭搶內存資源時,當機的幾率就高了很多,如果你不希望你的服務器經(jīng)常重啟,配置大容量內存是非常必要的,除非是一天千位數(shù)IP的那種小型網(wǎng)站,不然還是建議大家使用 1GB 以上內存,即使有時候內存的使用率不會想我們想象的那么高,但是使用大內存對于降低虛擬內存的使用和減少重啟次數(shù)都是有很大幫助的。而內存的糾錯其實在服務器上是非常必要的,首先很多服務器主板本身就要求搭配ECC REG內存,普通內存根本開不了機,另外,由于內存也是高速設備而且數(shù)據(jù)刷新頻率非常高,所以加入糾錯芯片的ECC內存可以有效的幫助系統(tǒng)減少由于數(shù)據(jù)信息出錯而產(chǎn)生的嚴重后果,另外,由于內存的校驗操作都是內存上的獨立智檢芯片完成,所以不會占用CPU資源,一些用戶擔心內存糾錯會造成系統(tǒng)性能的下降其實是一種心理作用。 #p#page_title#e#
至于服務器的硬盤,現(xiàn)在大部分的入門級機型都使用性能出色價格低廉的SATA硬盤,其實這也無可厚非,只不過如果嚴格比較SATA跟SCSI的區(qū)別,在穩(wěn)定性方面和使用壽命方面SCSI還是有較大優(yōu)勢。我們知道,現(xiàn)在憑借較大的單碟容量,SATA硬盤的性能已經(jīng)可以跟SCSI媲美,但是服務器這種分分鐘要接受用戶訪問,不斷讀取、改寫磁盤數(shù)據(jù)的應用環(huán)境還是給硬盤帶來很大的工作壓力,尤其是多人訪問以及長時間下載的時候,這樣的高強度讀寫量絕對是桌面級的硬盤無法承受的,哪怕是SATA硬盤,也只是在接口上做了調整,磁盤體和磁頭的發(fā)熱仍然會造成致命傷,而SCSI硬盤設計的時候就考慮到它的工作環(huán)境,所以不會一味擴充容量,而是以安全為先決條件,這就是為什么很多二手市場淘汰下來的SCSI硬盤都仍然可以再用個幾年。所以,做下載的站點如果資金允許,還是應該盡量選用SCSI硬盤,如果用SATA,也應該定期檢查服務器磁盤是否報錯以便及時處理減少損失,這絕不是危言聳聽,我做過的幾個帶有資源下載的站點,SATA硬盤基本都是1年左右就開始報錯了。
再說說主板吧,一些初級用戶覺得用家用主板可以很好的節(jié)省成本,其實家用主板跟服務器主板根本就是兩回事,為什么“泰安”和“超微”的主板會那么貴?并不是沒有道理的:首先是穩(wěn)定。做服務器的,如果不穩(wěn)定,一切性能都是空談。服務器主板的內部總線在設計上要優(yōu)于家用板,總線帶寬夠大,能夠同時傳輸?shù)臄?shù)據(jù)才多;另外,服務器主板的用料也非常嚴格,電容、電阻偷工減料的行為在服務器主板上是不能出現(xiàn)的,還有就是設計問題了,有能力做服務器主板的廠家,設計產(chǎn)品的功力自然要高出一籌,電路設計的合理和優(yōu)化也是影響主板穩(wěn)定性的一個因素。最明顯的一點:在訪問量大的時候,如果是普通主板,不是卡的非常厲害就是立刻罷工,而服務器主板則可以比較平穩(wěn)的處理這些任務。另外,服務器主板上都會集成一張ATI的入門級顯卡,一般是8M顯存,顯存也是直接集成主板上,為什么這樣?因為對服務器來說,顯卡是個負擔,只有在安裝調試的時候才用到,其他時候服務器扔在機柜里面都是不接顯示器的,全部通過遠程管理,服務器最好沒有顯卡,因為多一個顯卡就多一個負擔,需要CPU建立聯(lián)系處理數(shù)據(jù),而且服務器不能集成太強大的顯卡,因為性能好的顯卡還會發(fā)熱、耗電,所以專業(yè)的服務器主板都是內建一張ATI入門級顯卡。
最后說說網(wǎng)卡。既然是服務器,肯定都是要接入網(wǎng)絡來工作,而服務器訪問量一般都很大,這時候專業(yè)網(wǎng)卡跟普通網(wǎng)卡的區(qū)別就非常明顯!例如我們常用的30元一塊的普通10/100M網(wǎng)卡,或者是大多數(shù)主板集成的網(wǎng)卡,當然現(xiàn)在也有不少千兆的網(wǎng)卡賣到這個價或者集成在主板上,但是,這些都是個人上網(wǎng)使用的,用了這樣的網(wǎng)卡,服務器根本頂不住幾百個人在線,因為網(wǎng)卡的線程到了極限,完全依賴CPU的處理,同時這些網(wǎng)卡用料比較省,壽命也不長,像服務器這樣長時間工作,這種網(wǎng)卡是最先掛掉的,我以前就見過有人在服務器上使用這種網(wǎng)卡最后網(wǎng)卡燒掉的。另外也有一些好一點的網(wǎng)卡,價格在60-180之間,其實這些也不行,因為線程不存在瓶頸的時候吞吐量已經(jīng)到了極限,大家不要簡單的把吞吐量看成是數(shù)據(jù)流量,而是數(shù)據(jù)零碎的處理速度,舉例來說,一個大力士一次搬動100KG的東西,你搬10KG的,但是你速度快,你能搬的速度比他快10倍,那你說是你比較效率高。其實錯了,因為你搬起和放下比他多9次,而且每次你都用腦子去記錄,他可以完全不動腦子,而腦子就是CPU。服務器必須使用專業(yè)網(wǎng)卡,例如3com、intel的,這些網(wǎng)卡單獨出售價格都在幾百到幾千元,不過服務器主板上一般都會集成有,這類網(wǎng)卡才是最適用的,因為基本不依賴CPU,能直接和內存溝通數(shù)據(jù),有自己的很大的緩存區(qū),甚至有的能直接分離垃圾數(shù)據(jù)請求。我們個人平時使用,其實任何網(wǎng)卡都是一樣,不過拿到服務器上,好的網(wǎng)卡和差的網(wǎng)卡,立刻分出區(qū)別。 #p#page_title#e#
說了這些,其實還是希望大家對服務器各個配件有一些了解,特別是現(xiàn)在很多人選擇組裝的方式構建服務器,就更應該用穩(wěn)定和適用去衡量產(chǎn)品,而不要一味降低成本,結果弄出一臺服務器拿到機房經(jīng)常死機,后期維護起來讓自己頭疼