服務(wù)器和我們常見的PC一樣,,都是由CPU,、主板、內(nèi)存,、硬盤,、網(wǎng)卡等配件組成的。在習(xí)慣上,,都對(duì)CPU,、主板、內(nèi)存,、硬盤等部件比較在意,,對(duì)網(wǎng)卡就不太重視了。網(wǎng)卡擔(dān)任整個(gè)機(jī)器的數(shù)據(jù)傳輸任務(wù),,它的穩(wěn)定性和耐久性關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和耐久性,,所以網(wǎng)卡這一部分,實(shí)在不可等閑視之,。
PC和服務(wù)器上都有網(wǎng)卡,,那么什么是服務(wù)器網(wǎng)卡?服務(wù)器網(wǎng)卡又有什么特殊地方,?跟普通PC網(wǎng)卡有什么區(qū)別呢,?在討論這個(gè)問題之前,我們分別來看看PC和服務(wù)器上網(wǎng)卡的作用,。
PC網(wǎng)卡的作用其實(shí)大家都比較清楚了,。上網(wǎng)、或者局域網(wǎng)之間傳輸一些數(shù)據(jù),,PC主要是根據(jù)本機(jī)鍵盤,、鼠標(biāo)等設(shè)備輸入的指令,然后再根據(jù)這些指令處理數(shù)據(jù),。對(duì)PC來講,,網(wǎng)卡并非是關(guān)鍵配件,有了網(wǎng)卡,,PC就能和其他設(shè)備方便的交換數(shù)據(jù),,但是網(wǎng)卡并不是不可缺少的,沒有網(wǎng)卡,,PC也能正常工作,。
但服務(wù)器上,,網(wǎng)卡卻是一個(gè)不折不扣關(guān)鍵部件。去過機(jī)房的朋友都知道,,服務(wù)器在正常工作的時(shí)候,,絕大部分僅接上兩根線纜而已。哪兩根線,?一個(gè)是電源線,,另外一個(gè)就是網(wǎng)線。顯示器,、鍵盤、鼠標(biāo)這些在PC上必不可少的部件,,在服務(wù)器上面卻是屬于閑置配件,,或者叫做備件,只有在安裝系統(tǒng),、大的系統(tǒng)調(diào)試的時(shí)候才用得上,。平時(shí)服務(wù)器在工作的時(shí)候,服務(wù)器上的控制和調(diào)配,,都是通過網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程控制來完成的,。而服務(wù)器工作任務(wù),就是接受網(wǎng)絡(luò)上傳來的指令,,然后根據(jù)指令作出相應(yīng)的查詢,、運(yùn)算、分析,,然后將結(jié)果通過網(wǎng)絡(luò)回傳給指定的客戶端,。從這里,大家就能看出網(wǎng)卡對(duì)服務(wù)器的重要性了吧,?可以說,,沒有網(wǎng)卡的機(jī)器,不能叫做服務(wù)器,。
既然服務(wù)器的網(wǎng)卡的作用如此重要,,那么,服務(wù)器的網(wǎng)卡又跟普通PC網(wǎng)卡有什么不同呢,?當(dāng)然,,誰都知道,從表面上看,,他們價(jià)格是相差很遠(yuǎn)的,。一塊獨(dú)立PC網(wǎng)卡,花個(gè)25元,、30元,,隨便就能買到1個(gè)100M的網(wǎng)卡了,,1000M網(wǎng)卡也不貴,200多塊錢也多的是,。但是服務(wù)器獨(dú)立網(wǎng)卡價(jià)格就貴多了,,常見的服務(wù)器網(wǎng)卡芯片廠商,有Intel,、3COM,、Marvell、Broadcom等,,這些牌子的網(wǎng)卡,,幾百元的網(wǎng)卡只能算是入門級(jí)的,幾千元的網(wǎng)卡也很常見,。一些網(wǎng)卡大廠,,例如Intel,他的網(wǎng)卡有桌面版和服務(wù)器版,,而Intel對(duì)各個(gè)型號(hào)網(wǎng)卡屬于哪個(gè)應(yīng)用,,都有明確的標(biāo)注。
服務(wù)器的網(wǎng)卡貴這么多,,根本就在于性能的不同,。衡量網(wǎng)卡性能的指標(biāo),主要有以下三個(gè):
1,、傳輸速度,;
2、CPU占用率,;
3,、穩(wěn)定性和安全性。
下面我們從這三個(gè)方面,,一一解析服務(wù)器網(wǎng)卡和PC網(wǎng)卡異同點(diǎn),。
1、傳輸速度,;
我們區(qū)分網(wǎng)卡的等級(jí),,最常見、最直觀的就是網(wǎng)卡的速率,,我們說100M網(wǎng)卡,、1000M網(wǎng)卡,指的就是網(wǎng)卡的傳輸速率,。數(shù)字是最直觀的,,但是,有時(shí)候數(shù)字又是最容易迷惑人的,。比如同樣是1000M網(wǎng)卡,,我們看到服務(wù)器上的網(wǎng)卡多數(shù)都是PCI-X或者PCI-E接口,。而PC的網(wǎng)卡,則一律都是PCI接口的,。PCI總線的帶寬,,只有133M/S,而1000M網(wǎng)卡的峰值數(shù)據(jù)帶寬,,是125M/S,,按照全雙工計(jì)算的話,則是250M/S,,也就是說,,PCI的帶寬,根本不能滿足千兆網(wǎng)卡的需要,,而且我們要注意到,,在整個(gè)系統(tǒng)里面,PCI帶寬是共享的,,就是說,硬盤,、光驅(qū),、聲卡、USB口等設(shè)備,,都要跟網(wǎng)卡搶這可憐的133M/S帶寬,,所以,在PC上的所謂的千兆網(wǎng)卡,,是不可能實(shí)現(xiàn)真正的千兆的速率的,。PCI-X16總線的帶寬,則高達(dá)7629M/S,,是普通PCI總線的60多倍,,對(duì)付千兆網(wǎng)卡的250M/S傳輸綽綽有余,就算是兩個(gè)甚至更多千兆網(wǎng)卡,,也可輕松應(yīng)對(duì),。
如果把整個(gè)系統(tǒng)當(dāng)作個(gè)一城市的話,,那網(wǎng)卡就是港口,,而主板上的總線,則是港口配套的道路,。PC上的千兆網(wǎng)卡,,就好像一個(gè)道路很小的大港口,雖然港口的入口很大,,但是配套的道路卻很小,,進(jìn)來的貨物,,根本不能及時(shí)的運(yùn)走。所以,,PC上的千兆網(wǎng)卡,,多數(shù)情況下只是一個(gè)美麗的幌子,根本達(dá)不到真正的千兆網(wǎng)卡的速度,。而服務(wù)器的網(wǎng)卡,,則從入口到出口,都具備巨大的帶寬,,所以能達(dá)到真正的千兆速度,。
服務(wù)器的網(wǎng)卡負(fù)擔(dān)著所有來往數(shù)據(jù)的進(jìn)出,有些應(yīng)用的數(shù)據(jù)流量非常的大,,甚至單個(gè)千兆網(wǎng)卡都不能滿足,。象網(wǎng)吧、賓館,、卡拉OK廳里的電影點(diǎn)播,、大型企業(yè)里的文件共享,就是這種應(yīng)用的典型例子,。為了解決這個(gè)問題,,網(wǎng)卡廠商也給出了解決方法,網(wǎng)卡綁定,,負(fù)載均衡,,這些就是網(wǎng)卡廠商提出的比較實(shí)用、經(jīng)濟(jì)的解決辦法,。
網(wǎng)卡綁定,,負(fù)載均衡這些名詞聽起來比較高深,但道理其實(shí)很簡(jiǎn)單,,就是多個(gè)網(wǎng)卡使用同一個(gè)IP,,協(xié)同工作,多個(gè)網(wǎng)卡象一個(gè)網(wǎng)卡那樣使用,,以達(dá)到更高的傳輸速度,。服務(wù)器網(wǎng)卡都支持這類功能,以intel網(wǎng)卡為例,,可以支持8個(gè)網(wǎng)卡同時(shí)綁定,,實(shí)現(xiàn)8千兆的最高帶寬。
2,、CPU占用率,;
CPU占用率是測(cè)評(píng)里面經(jīng)常出現(xiàn)的一個(gè)指標(biāo),但是很多人對(duì)這個(gè)指標(biāo)并沒有引起太大的重視。實(shí)際上,,CPU占用率也經(jīng)常和另外一個(gè)參數(shù)聯(lián)系起來,,這個(gè)參數(shù)就是“并發(fā)數(shù)”。并發(fā)數(shù)這個(gè)概念,,大家都比較好理解,,指的是在單位時(shí)間內(nèi)(一般是1秒),向系統(tǒng)發(fā)出的請(qǐng)求數(shù)量,。但是PC對(duì)這個(gè)參數(shù)是沒有什么要求的,,這也是理所當(dāng)然的。PC使用里,,根本沒有多大機(jī)會(huì)有很高的并發(fā)數(shù),。而服務(wù)器則就大不相同了,一臺(tái)服務(wù)器,,接受的客戶端從幾個(gè)到幾千,、幾萬都有,比如一個(gè)網(wǎng)站,,訪問者的每次點(diǎn)擊,,都是一個(gè)請(qǐng)求,而服務(wù)器可能要同時(shí)應(yīng)對(duì)數(shù)百甚至上千上萬個(gè)這樣的請(qǐng)求,,如果服務(wù)器,,或者說服務(wù)器網(wǎng)卡不能及時(shí)的處理這些請(qǐng)求的話,這個(gè)服務(wù)器就癱瘓掉了,。什么叫黑客攻擊?調(diào)用大量的客戶端,,給某個(gè)服務(wù)器發(fā)送大量的無用請(qǐng)求,,就是最簡(jiǎn)單、最直接的,,也是最有效的攻擊方法,。并發(fā)數(shù)越高,消耗的CPU資源就越多,,CPU占用率就越高了,。
因?yàn)榉?wù)器要求的并發(fā)數(shù)遠(yuǎn)遠(yuǎn)大于PC的,所以專用服務(wù)器網(wǎng)卡芯片,,都具有一定的處理能力,,能對(duì)這些請(qǐng)求進(jìn)行初步的處理,所以可以大大減輕CPU的負(fù)擔(dān),??吹竭@里,有的朋友就會(huì)問笨人了,服務(wù)器不是有多個(gè)CPU嗎,?現(xiàn)在還流行什么雙核,、四核CPU,一個(gè)服務(wù)器上有N個(gè)CPU計(jì)算核心,,還怕網(wǎng)卡占用了這么一點(diǎn)CPU性能嗎,?假設(shè)我用了很強(qiáng)的CPU,那是不是就沒必要用服務(wù)器的專用網(wǎng)卡了,?
首先我們要知道一個(gè)數(shù)據(jù)要從網(wǎng)卡去到CPU,,要經(jīng)過哪些路線:網(wǎng)卡=》南橋芯片=》北橋芯片=》內(nèi)存=》CPU(如果是服務(wù)器的話,則是網(wǎng)卡CPU=》PCI-X橋接芯片=》北橋芯片=》內(nèi)存=》CPU),,CPU處理完了,,同樣要從相反的路線返回網(wǎng)卡那里,CPU處理這個(gè)數(shù)據(jù),,可能僅僅花了1個(gè)時(shí)鐘周期的時(shí)間,,但是這個(gè)數(shù)據(jù)的傳輸時(shí)間,卻花了十幾個(gè)甚至幾十個(gè)時(shí)鐘周期,,CPU在處理這個(gè)數(shù)據(jù)之前,,要花大量的時(shí)間來等待這個(gè)數(shù)據(jù)的傳輸,所以假設(shè)一個(gè)數(shù)據(jù),,由網(wǎng)卡芯片來處理的話,,就能比CPU來處理節(jié)省下這些傳輸?shù)臅r(shí)間。
如果用港口來做比喻網(wǎng)卡的話,。那么,,具有一定處理性能的服務(wù)器網(wǎng)卡,就象配備了港口職員的港口,,對(duì)一些初級(jí)的處理要求,,就像來往貨物的登記、運(yùn)輸秩序的安排,、維護(hù)等等,,這些基本的任務(wù),港口自身就能獨(dú)立完成了,,所以就能做到高效,、及時(shí)。而沒有處理能力的PC網(wǎng)卡,,則象那些沒有專職職員的港口,,所有的工作,都要交給市長(zhǎng)(CPU)來處理,,市長(zhǎng)的工作能力,,的確比普通職員強(qiáng)的多,但是市長(zhǎng)要處理港口的事情,就要打報(bào)告,,從海關(guān),,到局長(zhǎng),到市長(zhǎng)辦公室,,一級(jí)一級(jí)的傳文件上去,。可能普通職員處理一項(xiàng)事情,,平均用5分鐘,,市長(zhǎng)能力強(qiáng),只需要1分鐘就完成了,,但是文件傳送的時(shí)間,,卻要好幾個(gè)小時(shí),所以算來,,普通職員處理事件的效率反而比市長(zhǎng)高十幾倍,、幾十倍。
從上面的例子我們也可以看出來,,就算CPU的性能提升了,,但是對(duì)整個(gè)流程來講,提升的程度也是不明顯的,,因?yàn)榇蟛糠值臅r(shí)間,,實(shí)際上都浪費(fèi)在數(shù)據(jù)的傳輸上了。服務(wù)器網(wǎng)卡芯片的處理性能,,雖然遠(yuǎn)遠(yuǎn)比不上CPU,,但是卻能夠確確實(shí)實(shí)的分擔(dān)CPU的負(fù)擔(dān)?! ?/p>
另外,,值得注意的是,并發(fā)數(shù)跟流量并沒有直接關(guān)系,。客戶端給服務(wù)器發(fā)送一個(gè)請(qǐng)求,,可能只有幾十,、幾百個(gè)字節(jié),幾千個(gè)這樣的請(qǐng)求同時(shí)并發(fā),,總的數(shù)據(jù)流量也不過幾M而已,,但是這幾千個(gè)并發(fā)請(qǐng)求對(duì)系統(tǒng)的壓力,絕對(duì)不是那些廉價(jià)的PC網(wǎng)卡所能承擔(dān)得起的,。所以有的人,,說什么人家機(jī)房才分配給我這個(gè)服務(wù)器幾個(gè)M的帶寬,所以拿個(gè)10M、100M的便宜網(wǎng)卡,,幾十塊錢那種的,,拿來做服務(wù)器網(wǎng)卡用,認(rèn)為已經(jīng)綽綽有余了,,還譏笑別人的服務(wù)器用了千兆網(wǎng)卡是浪費(fèi),,其實(shí)這是一個(gè)“無知者無畏”的表現(xiàn),根本沒搞清楚網(wǎng)卡在服務(wù)器里面的作用和地位,。
3,、穩(wěn)定性和安全性。
服務(wù)器最重要的是什么,?有很多人認(rèn)為是性能,,但是實(shí)際上,服務(wù)器的穩(wěn)定性遠(yuǎn)比性能重要的多,,為了保證服務(wù)器的穩(wěn)定性,,所有的配件都必須具備同樣高的品質(zhì)才行。服務(wù)器網(wǎng)卡除了芯片性能夠好之外,,用料充足和做工精良也是必須的,。
網(wǎng)卡的穩(wěn)定性也體現(xiàn)在數(shù)據(jù)傳輸?shù)谋憩F(xiàn)上,服務(wù)器網(wǎng)卡的傳輸曲線都很平滑,,升降波動(dòng)少,。大家都知道,網(wǎng)絡(luò)傳輸是以數(shù)據(jù)包的形式發(fā)送的,,網(wǎng)絡(luò)質(zhì)量不行,,就容易發(fā)生丟包的現(xiàn)象。如果網(wǎng)卡性能不夠好,,那么在網(wǎng)卡負(fù)載大的時(shí)候,,丟包的概率就會(huì)上升,發(fā)生丟包后,,數(shù)據(jù)就要重新傳輸,,反過來又再次增加網(wǎng)卡的壓力。
在一些關(guān)鍵應(yīng)用上,,服務(wù)器的意外停機(jī)會(huì)造成巨大的損失,,在這種情況下,服務(wù)器的關(guān)鍵部件,,例如硬盤,、電源等,都會(huì)采用冗余方案,,以求最大程度的保證服務(wù)器的正常運(yùn)行,。服務(wù)器網(wǎng)卡作為關(guān)鍵部件之一,,理所當(dāng)然也具有冗余方案。上面我們提到過的網(wǎng)卡綁定,、負(fù)載均衡等技術(shù),,同時(shí)也是一種冗余的方案,網(wǎng)卡綁定,,多個(gè)網(wǎng)卡協(xié)同工作,,其中某個(gè)網(wǎng)卡故障,或者某條網(wǎng)線故障,,都不會(huì)影響到整個(gè)網(wǎng)絡(luò)的正常連通,,自然而然就能實(shí)現(xiàn)冗余功能了?!?/p>
以上三個(gè)方面,,可以說是服務(wù)器網(wǎng)卡的優(yōu)點(diǎn),也是服務(wù)器網(wǎng)卡的價(jià)值所在,。服務(wù)器網(wǎng)卡技術(shù),,跟其他子系統(tǒng)一樣,也在不斷的發(fā)展,,笨人才疏學(xué)淺,,所知不過其中萬一,這篇小文,,希望能起到拋磚引玉的作用,,期待以與廣大喜歡研究服務(wù)器硬件的朋友,一起探討服務(wù)器的各類問題,!