如何通過高級網(wǎng)卡選項(xiàng)提升網(wǎng)絡(luò)性能
某些網(wǎng)卡選項(xiàng)能夠幫助IT專業(yè)人員提升關(guān)鍵服務(wù)器的網(wǎng)絡(luò)性能。
以太網(wǎng)是數(shù)據(jù)中心以及局域網(wǎng)中最主要的網(wǎng)絡(luò)技術(shù),但是其難以支撐當(dāng)前經(jīng)常用到的工作負(fù)載比如存儲(chǔ)數(shù)據(jù)、實(shí)時(shí)音視頻。以太網(wǎng)是為簡單文件傳輸以及需要通過爭用才能進(jìn)行傳輸?shù)男?shù)據(jù)包而設(shè)計(jì)的。即使對帶寬進(jìn)行了大量的擴(kuò)容,以太網(wǎng)在處理對時(shí)間敏感、不允許丟包的流量時(shí)效率仍舊不高。
網(wǎng)卡有時(shí)被稱為網(wǎng)絡(luò)接口控制器,其技術(shù)在不斷發(fā)展,包括了更多能夠提升網(wǎng)絡(luò)性能的特性,包括巨型幀以及卸載功能、包標(biāo)記、緩沖區(qū)以及幀間距調(diào)整等等。但是在數(shù)據(jù)中心使用某些網(wǎng)卡特性時(shí)有一些注意事項(xiàng)。
有效利用CPU:巨型幀vs.卸載功能
如果服務(wù)器性能低下,那么可能是由于網(wǎng)絡(luò)負(fù)載較大。標(biāo)準(zhǔn)的以太網(wǎng)數(shù)據(jù)包大小為1542個(gè)字節(jié),大多數(shù)文件被拆分為成百上千甚至上百萬個(gè)數(shù)據(jù)包或者幀。這些小的數(shù)據(jù)包通過網(wǎng)絡(luò)傳輸,和眾多節(jié)點(diǎn)共享網(wǎng)絡(luò)帶寬,但是數(shù)據(jù)幀的發(fā)送與接收會(huì)帶來CPU開銷。
大多數(shù)網(wǎng)卡支持巨型幀,這意味著能夠處理高達(dá)9000字節(jié)的數(shù)據(jù)包或者幀。巨型幀在每個(gè)數(shù)據(jù)包中包括更多的數(shù)據(jù),因此網(wǎng)絡(luò)中需要傳輸?shù)臄?shù)據(jù)包數(shù)量就變小了。吞吐量提升意味著開銷——數(shù)據(jù)包頭與其他數(shù)據(jù)包內(nèi)容——以及CPU開銷減少了。
巨型幀肯定存在缺點(diǎn)。管理員必須對網(wǎng)絡(luò)中的所有節(jié)點(diǎn)進(jìn)行配置才能支持巨型幀的傳輸。巨型幀并不是IEEE標(biāo)準(zhǔn)的一部分,因此不同的網(wǎng)卡配置的巨型幀大小有所不同。為了在節(jié)點(diǎn)之間高效傳輸巨型幀要做一些實(shí)驗(yàn)。更大的數(shù)據(jù)包可能會(huì)增加某些負(fù)載的延遲,因?yàn)槠渌?jié)點(diǎn)要等更長的時(shí)間才能使用帶寬,請求與發(fā)送被丟棄或者被破壞的數(shù)據(jù)包也需要花更長的時(shí)間。
IT專業(yè)人員可能放棄巨型幀而使用具有LSO以及LRO功能的網(wǎng)卡。LSO和LRO允許CPU通過網(wǎng)卡傳輸更多數(shù)量的數(shù)據(jù),而且基本上與巨型幀提供了相同的CPU性能。
通行能力:可調(diào)整的幀間距vs.以太網(wǎng)升級
以太網(wǎng)在每發(fā)送一個(gè)數(shù)據(jù)包后都要等一段時(shí)間,這稱之為幀間距。這為其他網(wǎng)絡(luò)節(jié)點(diǎn)占用帶寬并發(fā)送數(shù)據(jù)包提供了機(jī)會(huì)。幀間距等于發(fā)送96個(gè)數(shù)據(jù)位的時(shí)間。例如,1Gb以太網(wǎng)使用標(biāo)準(zhǔn)的0.096ms的幀間距,10Gb以太網(wǎng)的幀間距為0.0096ms。
利用這一固定的數(shù)據(jù)包傳輸之間的間距并非總是有效而且在網(wǎng)絡(luò)負(fù)載較大的情況下可能會(huì)降低網(wǎng)絡(luò)性能。支持自適應(yīng)幀間距的網(wǎng)卡能夠基于網(wǎng)絡(luò)負(fù)載動(dòng)態(tài)調(diào)整幀間距,這有可能提升網(wǎng)絡(luò)性能。除非接近網(wǎng)絡(luò)帶寬,否則調(diào)整幀間距通常不會(huì)提升網(wǎng)絡(luò)性能。
全方位的網(wǎng)絡(luò)性能基準(zhǔn)測試能夠展現(xiàn)網(wǎng)絡(luò)使用模式。如果以太網(wǎng)連接頻繁達(dá)到帶寬上限,那么升級到速度更快的以太網(wǎng)或者使用網(wǎng)卡綁定而非調(diào)整幀間距將能夠提升網(wǎng)絡(luò)性能。
限制CPU中斷,提升CPU性能
當(dāng)數(shù)據(jù)包在網(wǎng)絡(luò)中傳輸時(shí),網(wǎng)卡會(huì)產(chǎn)生CPU中斷。以太網(wǎng)速度越快,CPU中斷的頻率也就越高,CPU必須更多地關(guān)注網(wǎng)絡(luò)驅(qū)動(dòng)器以及其他處理數(shù)據(jù)包的軟件。如果流量起伏不定,CPU性能可能會(huì)變得不穩(wěn)定。支持人為中斷節(jié)流的網(wǎng)卡能夠減少CPU中斷頻率,將CPU從無限的網(wǎng)卡中斷中解放出來,很可能能夠提升CPU性能。
中斷限制越多并不一定越好。過高的中斷限制可能會(huì)降低CPU的響應(yīng)能力;CPU將需要花更長的時(shí)間來處理所有正在產(chǎn)生的中斷。當(dāng)高速小數(shù)據(jù)包近乎實(shí)時(shí)地到達(dá)時(shí),限制中斷將會(huì)降低性能。在多種模式下對網(wǎng)絡(luò)以及CPU性能進(jìn)行測試直到能夠建立起充分的系統(tǒng)響應(yīng)能力,產(chǎn)生平滑的CPU中斷。
還可以考慮支持TCP/IP卸載功能的網(wǎng)卡。這些網(wǎng)卡能夠在線處理眾多CPU密集型工作任務(wù),同時(shí)減少對CPU的中斷請求。
優(yōu)先處理對時(shí)間敏感的數(shù)據(jù)類型:啟用包標(biāo)記
對事件敏感的數(shù)據(jù)類型比如VoIP或者視頻通常按照高優(yōu)先級流量對待,但是網(wǎng)絡(luò)對所有數(shù)據(jù)包一視同仁。采用數(shù)據(jù)包標(biāo)記,被標(biāo)記的數(shù)據(jù)包能夠被分到操作系統(tǒng)設(shè)置的流量隊(duì)列中,在處理其他低優(yōu)先級的數(shù)據(jù)包之前先處理高優(yōu)先級的VoIP以及視頻數(shù)據(jù)包。包標(biāo)記有助于QoS戰(zhàn)略,而且是很多VLAN部署的一個(gè)必要組成部分。
如果網(wǎng)絡(luò)性能低于已定義的基準(zhǔn),可以對網(wǎng)卡進(jìn)行調(diào)整,務(wù)必對服務(wù)器以及網(wǎng)卡進(jìn)行基準(zhǔn)測試后再對配置進(jìn)行更改。這些推薦的網(wǎng)卡調(diào)整不會(huì)帶來顯著的性能提升,但是也不受預(yù)算的限制。隨時(shí)間變化評估并觀察網(wǎng)絡(luò)性能,檢查任何意想不到的后果,比如提升了某個(gè)工作負(fù)載性能卻降低了其他工作負(fù)載的性能。