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