排除彈性網路介面卡 Windows 驅動程式 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

排除彈性網路介面卡 Windows 驅動程式

彈性網路介面卡 (ENA) 旨在改善作業系統健康狀況,並減少意外的硬體行為或可能中斷 Windows 執行個體作業的故障。該ENA架構使設備或驅動程序故障對操作系統盡可能透明。

收集有關執行個體的診斷資訊

開啟 Windows 作業系統 (OS) 工具的步驟會有所不同,具體取決於您執行個體上安裝的作業系統版本。在以下各部分,我們使用 Run (執行) 對話方塊開啟工具,該工具在所有作業系統版本的操作方式均相同。但是,您可以使用偏好的任何方法來存取這些工具。

存取 Run (執行) 對話方塊
  • 使用 Windows 標誌鍵組合:Windows + R

  • 使用搜尋列:

    • 在搜尋列中,輸入 run

    • 從搜尋結果中選擇 Run (執行) 應用程式。

某些步驟需要內容功能表才能存取屬性或內容相關動作。根據您的作業系統版本和硬體,可透過多種方式執行此作業。

存取內容功能表
  • 使用滑鼠:在項目上按一下滑鼠右鍵以顯示其內容功能表。

  • 使用鍵盤:

    • 根據您的作業系統版本,使用 Shift + F10Ctrl + Shift + F10

    • 如果鍵盤上有內容鍵 (方塊中帶有三條水平線),請選擇所需項目,然後按內容鍵。

如果可以連接到自己的執行個體,請使用以下技術收集診斷資訊以進行故障診斷。

檢查ENA裝置狀態

若要使用 Windows 裝置管理員檢查 ENA Windows 驅動程式的狀態,請依照下列步驟執行:

  1. 使用上一部分中描述的其中一種方法開啟 Run (執行) 對話方塊。

  2. 若要開啟 Windows Device Manager (Windows 裝置管理員),請在 Run (執行) 對話方塊中輸入 devmgmt.msc

  3. 選擇確定。這將開啟 Device Manager (裝置管理員) 視窗。

  4. 選取 Network adapters (網路轉接器) 左側的箭頭以展開清單。

  5. 選取名稱,或開啟 Amazon Elastic Network Adapter (Amazon 彈性網路轉接器) 的內容功能表,然後選擇 Properties (屬性)。這會開啟 Amazon 彈性網路介面卡屬性對話方塊。

  6. 確認一般索引標籤中的訊息顯示「此裝置運作正常」。

調查驅動程式事件訊息

若要使用 ENA Windows 事件檢視器檢視 Windows 驅動程式事件記錄檔,請依照下列步驟執行︰

  1. 使用上一部分中描述的其中一種方法開啟 Run (執行) 對話方塊。

  2. 若要開啟 Windows 事件檢視器,請在 Run (執行) 對話方塊中輸入 eventvwr.msc

  3. 選擇確定。Event Viewer (事件檢視器) 視窗隨即開啟。

  4. 展開 Windows Logs (Windows 日誌) 功能表,然後選擇 System (系統)。

  5. 在右上方面板中的 Action (動作) 下,選擇 Filter Current Log (篩選當前日誌)。此時將顯示篩選對話方塊。

  6. Event sources (事件來源) 方塊中,輸入 ena。這會將結果限制為 ENA Windows 驅動程式所產生的事件。

  7. 選擇確定。此時將在視窗的詳細資訊部分顯示篩選的事件日誌結果。

  8. 要深入查看詳細資訊,請從清單中選擇一條事件訊息。

下列範例顯示 Windows 事件檢視器系統事件清單中的ENA驅動程式事件:

範例:Windows 事件檢視器系統訊息清單中顯示的ENA驅動程式事件。

事件訊息摘要

下表顯示 ENA Windows 驅動程式所產生的事件訊息。

輸入
事件 ID ENA驅動程式事件說 Type
5001 硬體資源不足 錯誤
5002 轉接器偵測到硬體錯誤 錯誤
5005 介面卡的NDIS作業逾時,但未及時完成 錯誤
5032 轉接器未能重設裝置 錯誤
5200 已初始化轉接器 資訊
5201 已停止轉接器 資訊
5202 已暫停轉接器 資訊
5203 已重新啟動轉接器 資訊
5204 已關閉轉接器 資訊
5205 已重設轉接器 錯誤
5206 已意外刪除轉接器 錯誤
5208 轉接器初始化常式失敗 錯誤
5210 轉接器遇到內部問題並已成功恢復 錯誤

檢閱效能指標

ENAWindows 驅動程式會從啟用測量結果的執行個體發佈網路效能測量結果。您可以使用本機效能監控應用程式檢視和啟用執行個體上的指標。如需 ENA Windows 驅動程式產生之度量的詳細資訊,請參閱〈〉監控EC2執行個體上ENA設定的網路效能

在已啟用ENA指標且已安裝 Amazon CloudWatch 代理程式的執行個體上, CloudWatch會收集與 Windows 效能監視器中計數器相關聯的指標,以及的一些進階指標ENA。除了EC2執行處理預設啟用的測量結果外,還會收集這些測量結果。如需有關指標的詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的 CloudWatch 代理程式收集的指

注意

效能指標適用於 2.4.0 及更新版本的ENA驅動程式 (也適用於版本 2.2.3)。ENA驅動程式版本 2.2.4 已回復,因為第六代EC2執行個體可能會降低效能。建議您升級至驅動程式的目前版本,確保您擁有最新的更新項目。

使用效能指標的一些方式包括:

  • 對執行個體效能問題執行故障診斷。

  • 為工作負載選擇合適的執行個體大小。

  • 主動規劃擴展活動。

  • 基準化應用程式,以確定它們是否最大限度地提高了執行個體上可用的效能。

重新整理速率

根據預設,驅動程式使用 1 秒的間隔重新整理指標。但是,擷取指標的應用程式可能會使用不同的間隔進行輪詢。您可以使用驅動程式的進階屬性,在 Device Manager (裝置管理員)中變更重新整理間隔。

若要變更 ENA Windows 驅動程式的指標重新整理間隔,請依照下列步驟執行:

  1. 使用上一部分中描述的其中一種方法開啟 Run (執行) 對話方塊。

  2. 若要開啟 Windows Device Manager (Windows 裝置管理員),請在 Run (執行) 對話方塊中輸入 devmgmt.msc

  3. 選擇確定。這將開啟 Device Manager (裝置管理員) 視窗。

  4. 選取 Network adapters (網路轉接器) 左側的箭頭以展開清單。

  5. 選取名稱,或開啟 Amazon Elastic Network Adapter (Amazon 彈性網路轉接器) 的內容功能表,然後選擇 Properties (屬性)。這會開啟 Amazon 彈性網路介面卡屬性對話方塊。

  6. 在彈出式視窗中開啟 Advanced (進階) 索引標籤。

  7. Property (屬性) 清單中,選擇 Metrics Refresh Interval (指標重新整理間隔) 以變更值。

  8. 完成後,選擇 OK (確定)。

調查次最佳組態通知

ENA裝置會偵測驅動程式中您可以變更的次最佳組態設定。裝置會通知ENA驅動程式並記錄事件通知。若要在 Windows 事件檢視器中檢閱次最佳化事件

  1. 使用上一部分中描述的其中一種方法開啟 Run (執行) 對話方塊。

  2. 若要開啟 Windows 事件檢視器,請在 Run (執行) 對話方塊中輸入 eventvwr.msc

  3. 選擇確定。Event Viewer (事件檢視器) 視窗隨即開啟。

  4. 展開 Windows Logs (Windows 日誌) 功能表,然後選擇 System (系統)。

  5. 在右上方面板中的 Action (動作) 下,選擇 Filter Current Log (篩選當前日誌)。此時將顯示篩選對話方塊。

  6. Event sources (事件來源) 方塊中,輸入 ena。這會將結果限制為 ENA Windows 驅動程式所產生的事件。

  7. 選擇確定。此時將在視窗的詳細資訊部分顯示篩選的事件日誌結果。

具有 ID 的事件會59000通知您有次最佳組態發現項目。在事件上按一下滑鼠右鍵,然後選擇「事件內容」以開啟詳細檢視,或從「檢視」功能表選取「預覽窗格」 以查看相同的詳細

範例:系統事件識別碼 59000 顯示在視窗事件檢視器預覽窗格中。

開啟 [詳細資料] 索引標籤以查看事件代碼。在二進制數據:在單詞部分,最後一個單詞是代碼。

範例:「二進位資料」區段中的最後一個字會反白顯示。

下列清單顯示通知程式碼詳細資訊,以及非最佳化組態調查結果的建議動作。

  • 代碼1:不建議使用廣泛的LLQ配置ENA快遞

    ENA快ENI遞配置寬LLQ。此組態不是最佳化的,可能會影響 ENA Express 的效能。我們建議您在使用 ENA Express 時停用廣泛LLQ設定,ENIs如下所示。

    1. 若要開啟 Windows Device Manager (Windows 裝置管理員),請在 Run (執行) 對話方塊中輸入 devmgmt.msc

    2. 選擇確定。這將開啟 Device Manager (裝置管理員) 視窗。

    3. 選取 Network adapters (網路轉接器) 左側的箭頭以展開清單。

    4. 開啟的裝置內容Amazon Elastic Network Adapter

    5. 從那裡開啟 [進] 索引標籤以進行變更。

    6. 選取「LLQ標頭大小策略」屬性,並將其值設定為Normal (128 Bytes)

    7. 選擇 OK (確定) 以儲存變更。

  • 代碼2:不建ENI議使用次優 Tx 隊列深度ENA快遞

    ENAExpress 配ENI置了次最佳的 Tx 隊列深度。此組態可能會影響「ENA快速」的效能。當您使用 ENA Express 時,我們建議您將所有 Tx 佇列放大到網路介面的最大值,ENIs如下所示。

    請按照以下步驟將 Tx 隊列擴大到最大深度:

    1. 若要開啟 Windows Device Manager (Windows 裝置管理員),請在 Run (執行) 對話方塊中輸入 devmgmt.msc

    2. 選擇確定。這將開啟 Device Manager (裝置管理員) 視窗。

    3. 選取 Network adapters (網路轉接器) 左側的箭頭以展開清單。

    4. 開啟的裝置內容Amazon Elastic Network Adapter

    5. 從那裡開啟 [進] 索引標籤以進行變更。

    6. 選取「傳輸緩衝區」內容,並將其值設定為支援的最大值。

    7. 選擇 OK (確定) 以儲存變更。

ENA介面卡重設

當 ENA Windows 驅動程式偵測到介面卡上的錯誤,並將介面卡標示為狀態不良時,重設程序便會啟動。驅動程式無法自行重設,因此需視作業系統來檢查介面卡健康狀態,並呼叫 ENA Windows 驅動程式的重設控點。重設程序可能會導致短時間內出現流量遺失。但是,TCP連接應該能夠恢復。

ENA介面卡也可能會間接要求裝置重設程序,因為無法傳送保持連線通知。例如,如果ENA介面卡在載入無法復原的組態之後到達未知狀態,它可能會停止傳送持續使用中通知。

ENA介面卡重設的常見原因
  • 缺少保持有效訊息

    ENA介面卡會以固定速率 (通常每秒一次) 張貼保持活動的事件。ENAWindows 驅動程式會實作監視程式機制,該機制會定期檢查這些保持活動訊息是否存在。如果自上次檢查以來偵測到一條或多條新訊息,它就會記錄成功結果。否則,驅動程式得出裝置出現故障的結論,並啟動重設序列。

  • 封包卡在傳輸佇列中

    ENA介面卡會確認封包是否如預期流經傳輸佇列。ENAWindows 驅動程式會偵測封包是否卡住,並啟動重設順序 (如果是)。

  • 記憶體對應 I/O (MMIO) 暫存器的讀取逾時

    若要限制記憶體對應 I/O (MMIO) 讀取作業,ENAWindows 驅動程式只會在初始化和重設程序期間存取MMIO暫存器。如果驅動程式偵測到逾時,它將執行以下動作之一,具體取決於正在執行的程序:

    • 如果在初始化期間偵測到逾時,流程會失敗,導致驅動程式在 Windows 裝置管理員中的ENA介面卡顯示黃色驚嘆號。

    • 如果在重設過程中偵測到逾時,則會讓流程失敗。然後,作業系統會啟動ENA介面卡的意外移除,並透過停止並啟動已移除的介面卡來復原它。如需有關意外移除網路介面卡 (NIC) 的詳細資訊,請參閱 Microsoft Windows 硬體開發人員說明文件NIC中的處理意外移除

故障診斷方案

下列案例可協助您疑難排解 ENA Windows 驅動程式可能遇到的問題。如果您沒有最新版本,我們建議您先升級ENA驅動程式。若要尋找 Windows 作業系統版本的最新驅動程式,請參閱 追蹤 ENA Windows 驅動程式版本版本

描述

完成安裝特定版本ENA驅動程式的步驟之後,Windows 裝置管理員會顯示 Windows 安裝了不同版本的ENA驅動程式。

原因

當您執行驅動程式套件的安裝時,Windows 會在開始安裝之前,對本機驅動程式存放區中指定裝置的全部有效驅動程式套件進行排名。然後其會選取最低等級值的套件作為最佳相符項目。這可能與您要安裝的套件不同。如需有關裝置驅動程式套件選取程序的詳細資訊,請參閱 Microsoft 文件網站上的 Windows 如何為裝置選取驅動程式套件

解決方案

若要確保 Windows 安裝您選擇的驅動程式套件版本,您可以使用 P nPUtil 命令列工具從驅動程式存放區移除排名較低的驅動程式套件。

請依照下列步驟更新ENA驅動程式:

  1. 連線到您的執行個體,並以本機管理員登入。

  2. 開啟 Device Manager (裝置管理員) 屬性視窗,如 檢查ENA裝置狀態 部分中所述。這會開啟 Amazon 彈性網路介面卡屬性視窗的一般索引標籤。

  3. 開啟 Driver (驅動程式) 索引標籤。

  4. 選擇 Update Driver (更新驅動程式)。這會開啟更新驅動程式軟體 – Amazon 彈性網路介面卡對話方塊。

    1. 您要如何搜尋驅動程式軟體?區段中,選擇瀏覽電腦上的驅動程式軟體

    2. 瀏覽電腦上的驅動程式軟體頁面中,選擇位於搜尋欄下方的讓我從電腦上的裝置驅動程式清單挑選

    3. 選取您要為此硬體安裝的裝置驅動程式頁面中,選擇擁有磁碟...

    4. 從磁碟安裝視窗中,選擇下拉式清單中檔案位置旁邊的瀏覽...

    5. 瀏覽至您下載目標ENA驅動程式套件的位置。選取名為 ena.inf 的檔案,然後選擇開啟

    6. 若要開始安裝,請選擇確定,然後選擇下一步

  5. 如果安裝程式未自動重新啟動執行個體,請執行指Restart-Computer PowerShell 令程式。

    PS C:\> Restart-Computer

描述

裝置管理員網路介面卡區段中的介面卡圖示會顯示警告標誌 (內部有驚嘆號的黃色三角形)。ENA

下列範例會顯示 Windows 裝置管理員中含有警告圖示的ENA介面卡:

範例:Windows 裝置管理員中顯示警告圖示的ENA介面卡。

原因

此裝置警告通常由環境問題引起,此問題可能需要進行更多的研究,並且通常需要執行消除程序來確定根本原因。如需裝置錯誤的完整清單,請參閱 Microsoft Windows 硬體開發人員文件中的 Device Manager (裝置管理員) 錯誤訊息

解決方案

此裝置警告的解決方案取決於根本原因。此處介紹的消除程序包括幾個基本步驟,用於幫助確定和解決可能具有簡單解決方案的最常見問題。如果這些步驟無法解決問題,則需要進行其他根本原因分析。

請按照以下步驟幫助確定和解決常見問題:

  1. 停止並啟動裝置。

    開啟 Device Manager (裝置管理員) 屬性視窗,如 檢查ENA裝置狀態 部分中所述。這將開啟 Amazon Elastic Network Adapter Properties (Amazon 彈性網路轉接器屬性) 視窗中的 General (常規) 索引標籤,其中 Device status (裝置狀態) 顯示錯誤代碼和一條簡短訊息。

    1. 開啟 Driver (驅動程式) 索引標籤。

    2. 選擇 Disable Device (停用裝置),在顯示的警告訊息中回應 Yes (是)。

    3. 選擇 Enable Device (啟用裝置)。

  2. 停止並啟動EC2執行個體

    如果介面卡在裝置管理員中仍顯示警告圖示,下一個步驟就是停止並啟動EC2執行個體。在大多數情況下,這會在不同硬體上重新啟動執行個體。

  3. 調查可能的執行個體資源問題

    如果您已停止並啟動EC2執行個體,但問題仍然存在,這可能表示執行個體出現資源問題,例如記憶體不足。

描述

Windows 事件檢視器會顯示介面卡逾時和重設事件組合發生的ENA介面卡。消息類似以下範例:

  • 事件 ID 5007:Amazon 彈性網路轉接器:操作過程中逾時。

  • 事件 ID 5205:Amazon 彈性網路轉接器:轉接器重設已啟動。

轉接器重設會導致最小規模的流量中斷。即使執行多個重設,它們也很少會導致任何嚴重的網路中斷。

原因

此事件順序表示 ENA Windows 驅動程式對沒有回應的ENA介面卡啟動了重設。但是,設備驅動程序用於檢測此問題的機制可能會導致 CPU 0 飢餓導致的誤報。

解決方案

如果這種錯誤組合頻繁發生,請檢查您的資源分配,以了解調整可能發揮作用的位置。

  1. 使用上一部分中描述的其中一種方法開啟 Run (執行) 對話方塊。

  2. 若要開啟 Windows Resource Monitor (資源監視器),請在 Run (執行) 對話方塊中輸入 resmon

  3. 選擇確定。這將開啟 Resource Monitor (資源監視器) 視窗。

  4. 開啟索CPU引標籤。「資源監視器」視窗右側會顯示每個CPU使用情況圖表。

  5. 檢查 CPU 0 的使用層級,看看它們是否太高。

建議您設定為針RSS對較大執行個體類型 (超過 16 vCPU) 的ENA介面卡排除 CPU 0。對於較小的執行個體類型,設定RSS可能會改善使用體驗,但由於可用核心數量較少,因此需要進行測試,以確保限制CPU核心不會對效能造成負面影響。

使用指Set-NetAdapterRss令來設定您RSS的ENA介面卡,如下列範例所示。

Set-NetAdapterRss -name (Get-NetAdapter | Where-Object {$_.InterfaceDescription -like "*Elastic*"}).Name -Baseprocessorgroup 0 -BaseProcessorNumber 1

描述

如果您移轉至第六代EC2執行個體,如果尚未更新 ENA Windows 驅動程式版本,則可能會遇到效能降低或ENA附件失敗的情況。

原因

根據EC2執行個體作業系統 (OS),第六代執行個體類型需要以下最低版本的 ENA Windows 驅動程式。

最低版本
Windows Server 版本 ENA 驅動程式版本

Windows Server 2008 R2

2.2.3 或 2.4.0

Windows Server 2012 及更新版本

2.2.3 和更新版本

Windows 工作站

2.2.3 和更新版本

解決方案

升級至第六代EC2執行個體之前,請確定AMI您從中啟動的執行個體具有以執行個體作業系統為基礎的相容驅動程式,如上表所示。如需詳細資訊,請參閱將執行個體遷移到第六代EC2執行個體之前,我需要執行哪些動作,以確保我獲得最大的網路效能?AWS re:Post 知識中心

描述

ENA介面未如預期般執行。

原因

效能問題的根本原因分析是一種消除程序。其中涉及太多的變數,無法指定常見原因。

解決方案

根本原因分析的第一步是檢閱未按預期發揮效能的執行個體的診斷資訊,以確定是否存在可能導致問題的錯誤。如需詳細資訊,請參閱 收集有關執行個體的診斷資訊 一節。

為了在執行個體上達到使用增強型聯網的最大網路效能,您可能需要修改預設的作業系統組態。某些最佳化,例如開啟總和檢查碼卸載和啟用RSS,預設會在官方 Windows 中設定。AMIs如需可套用至ENA介面卡的其他最佳化,請參閱中ENA介面卡效能調整顯示的效能調整。

我們建議您謹慎進行,並將裝置內容調整限制為本節所列的內容,或是 AWS 支援團隊建議的特定變更。

若要變更ENA介面卡內容,請遵循下列步驟:

  1. 使用上一部分中描述的其中一種方法開啟 Run (執行) 對話方塊。

  2. 若要開啟 Windows Device Manager (Windows 裝置管理員),請在 Run (執行) 對話方塊中輸入 devmgmt.msc

  3. 選擇確定。這將開啟 Device Manager (裝置管理員) 視窗。

  4. 選取 Network adapters (網路轉接器) 左側的箭頭以展開清單。

  5. 選取名稱,或開啟 Amazon Elastic Network Adapter (Amazon 彈性網路轉接器) 的內容功能表,然後選擇 Properties (屬性)。這會開啟 Amazon 彈性網路介面卡屬性對話方塊。

  6. 若要進行變更,請開啟進階索引標籤。

  7. 完成後,請選擇確定以儲存變更。

下列範例會顯示 Windows 裝置管理員中的ENA介面卡內容:

範例:Windows 裝置管理員中顯示的ENA介面卡屬性。
ENA介面卡效能調整

下表包含可調整以改善ENA介面效能的屬性。

輸入
屬性 描述 預設值 調整

接收緩衝區

控制軟體接收佇列中的項目數目。

1024

可提高至上限 8192。

接收端調整比例 (RSS)

CPUs在多處理器系統中,能夠有效率地將網路接收處理分配到多重處理器。

已啟用

您可以將負載分散到多個處理器中。如需進一步了解,請參閱最佳化 EC2 Windows 執行個體的網路效能

RSS佇列數目上限

設定啟用時RSS允許的最大RSS佇列數目。

32

RSS佇列數目是在驅動程式初始化期間決定的,包括下列限制 (除其他外):

  • RSS此屬性設定的佇列限制

  • 執行個體限制 (v CPU 計數)

  • 硬體產生限制 (最多 8 個RSS佇列輸入ENAv1,最多 32 個RSS佇列中ENAv2)

根據執行個體和硬體世代限制,您可以設定 1-32 的值。如需進一步了解,請參閱最佳化 EC2 Windows 執行個體的網路效能

巨型封包

允許使用巨型乙太網路訊框 (超過 1500 個位元組的承載)。

已停用 (這將承載限制為 1500 個位元組或更少)

值可以設定為最高 9015,即轉換為 9001 個位元組的承載。這是巨型乙太網路訊框的最大承載。請參閱使用巨型乙太網路訊框的考量事項

使用巨型乙太網路訊框的考量事項

巨型訊框可增加單一封包的承載大小,這會增加不屬於封包成本的封包比例,藉此允許超過 1500 位元組的資料。傳送相同數量的可用資料,所需的封包數即會減少。但是,在以下情況下,流量限制為最多 MTU 1500:

  • EC2傳統版特定 AWS 區域以外的流量。

  • 單一之外的流量VPC。

  • 通過區域間對VPC等連接的流量。

  • 通過VPN連接的流量。

  • 網際網路閘道的流量。

注意

超過 1500 個位元組的封包會分段。如果 IP 標頭設有 Don't Fragment 旗標,這些封包將被捨棄。

Jumbo 框架應謹慎用於連結網際網路的流量,或任何離開. VPC 封包由中介系統切割,因此拖累流量速度。若要在不影響離開的輸出流量的VPC情況下使用 Jumbo 框架VPC,請嘗試下列其中一個選項:

  • 按路由配置MTU大小。

  • 使用具有不同MTU大小和不同路由的多個網絡接口。

巨型訊框的建議使用案例

Jumbo 框架對於內部和之間的流量非常有用VPCs。我們建議在以下使用案例中使用巨型訊框: