目錄算法
1、識別網卡
e1000e驅動支持Intel全部的GbE PCIe網卡,除了82575,82576,基於82580系列的網卡。
提示:Intel(R) PRO/1000 P Dual網卡是支持e1000,但不支持e1000e,由於82546部分支持PCIe。
更多信息關於怎麼識別你的網卡,去官網的 Adapter & Driver ID Guide:
http://support.intel.com/support/go/network/adapter/idguide.htm
對於最新的Intel網卡驅動,參考下面網站,輸入網卡名或者類型就能搜索到:
http://support.intel.com/support/go/network/adapter/home.htm
2、命令行參數
參數的默認值通常都是推薦的設置,除非是有特別提示。
提示:InterruptThrottleRate,RxIntDelay, TxIntDelay, RxAbsIntDelay, TxAbsIntDelay,app
以上參數的詳細信息參考:http://www.intel.com/design/network/applnots/ap450.htm
InterruptThrottleRate
有效範圍: 0,1,3,4,100-100000(0=off, 1=dynamic, 3=dynamic conservative,4=simplified balancing)
默認值: 3
驅動能夠限制網卡爲收到的報文生成中斷的數量的頻率,即每秒生成的中斷個數。驅動經過設置網卡每秒中斷數量的最大值來實現這個功能。
設置InterruptThrottleRate的值大於等於100,會設置網卡每秒發送出去的中斷的最大值,即便受到了更多的報文。ide
這樣減小了系統中斷的負載並能下降CPU利用率,可是會增長處理報文的延遲。
驅動默認是假定InterruptThrottleRate的值是8000,綜合來看,這對全部流量類型的報文都是很好的,可是缺少對小報文的性能和延遲。性能
硬件每秒能處理更多的小報文,由此一個自適應的中斷調節算法就應運而生了。
驅動有2種自適應模式(設置爲1,3),都能基於它收到的流量來動態調節InterruptThrottleRate的值。網站
在判斷出收到流量的類型的最後一個時間段,會調整InterruptThrottleRate到一個合適的值。
算法對每個時間間隔收到的流量進行分類,一旦類型肯定了,InterruptThrottleRate的值就會調整到這個類型的最佳的值。有3種已經定義好的類型:ui
在動態保守模式(dynamic conservative),InterruptThrottleRate在"Bulk traffic"類型是設置爲4000。命令行
若是是"Low latency"或者"Lowest latency"類型,InterruptThrottleRate會逐步的上升,直到20000。htm
這個默認的模式對大多數應用程序都很適用。
對那些對低延遲相當重要的狀況,好比集羣或網格計算,算法會下降延遲甚至會設置成模式1,在模式1下,會逐步增加InterruptThrottleRate到70000,類型爲"Lowest latency"。
在精簡模式(simplified),中斷的速率是基於TX與RX流量的比例來設置的。若是bps(bytes per second)速率近似相同,中斷速率會慢慢降低到每秒2000箇中斷。ci
若是流量大多數的是發送或者大多數的是接收,中斷速率能高達8000。集羣