

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

# 為彈性網路轉接器 Windows 驅動程式進行疑難排解
<a name="troubleshoot-ena-driver"></a>

彈性網路轉接器 (ENA) 設計旨在提高作業系統運作狀態，並減少可能中斷 Windows 執行個體操作的預料之外硬體行為或故障。ENA 架構盡可能使裝置或驅動程式的故障對作業系統保持透明。

## 收集有關執行個體的診斷資訊
<a name="ts-ena-drv-collect-diagnostics"></a>

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

**存取 Run (執行) 對話方塊**
+ 使用 Windows 標誌鍵組合：`Windows` \$1 `R`
+ 使用搜尋列：
  + 在搜尋列中，輸入 `run`。
  + 從搜尋結果中選擇 **Run** (執行) 應用程式。

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

**存取內容功能表**
+ 使用滑鼠：在項目上按一下滑鼠右鍵以顯示其內容功能表。
+ 使用鍵盤：
  + 根據您的作業系統版本，使用 `Shift` \$1 `F10` 或 `Ctrl` \$1 `Shift` \$1 `F10`。
  + 如果鍵盤上有內容鍵 (方塊中帶有三條水平線)，請選擇所需項目，然後按內容鍵。

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

### 檢查 ENA 裝置狀態
<a name="ts-ena-diagnostics-device-mgr"></a>

若要使用 Windows Device Manager 檢查 ENA Windows 驅動程式的狀態，請按照下列步驟操作：

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

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

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

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

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

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

### 調查驅動程式事件訊息
<a name="ts-ena-diagnostics-event-log"></a>

若要使用 Windows 事件檢視器檢視 ENA Windows 驅動程式事件日誌，請按照下列步驟操作：

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

1. 若要開啟 Windows 事件檢視器，請在 **Run** (執行) 對話方塊中輸入 `eventvwr.msc`。

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

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

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

1. 在 **Event sources** (事件來源) 方塊中，輸入 `ena`。這會將結果限製為由 ENA Windows 驅動程式產生的事件。

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

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

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

![\[範例：在 Windows 事件檢視器系統訊息清單中顯示的 ENA 驅動程式事件。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ena-event-viewer-example.png)


#### 事件訊息摘要
<a name="ts-ena-diagnostics-event-messages"></a>

如下資料表顯示了 ENA Windows 驅動程式產生的事件訊息。


**Input**  

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

### 檢閱效能指標
<a name="ts-ena-diagnostics-perf-metrics"></a>

ENA Windows 驅動程式會從啟用其的執行個體發佈網路效能指標。您可以使用本機效能監控應用程式檢視和啟用執行個體上的指標。如需 ENA Windows 驅動程式所產生指標的詳細資訊，請參閱 [監控 EC2 執行個體的 ENA 設定網路效能](monitoring-network-performance-ena.md)。

在啟用 ENA 指標且安裝 Amazon CloudWatch 代理程式的執行個體上，CloudWatch 會收集與 Windows 效能監控中的計數器關聯的指標以及一些適用於 ENA 的進階指標。除了在 EC2 執行個體上預設啟用的指標以外，還會收集以下這些指標。如需這些指標的詳細資訊，請參閱 *Amazon CloudWatch 使用者指南*中的 [CloudWatch 代理程式收集的指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html)。

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

使用效能指標的一些方式包括：
+ 對執行個體效能問題執行故障診斷。
+ 為工作負載選擇合適的執行個體大小。
+ 主動規劃擴展活動。
+ 基準化應用程式，以確定它們是否最大限度地提高了執行個體上可用的效能。

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

若要變更 ENA Windows 驅動程式的指標重新整理間隔，請按照下列步驟操作：

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

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

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

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

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

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

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

1. 完成後，選擇 **OK** (確定)。

## 調查非最佳化組態通知
<a name="ts-ena-win-sub-opt-config-notification"></a>

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

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

1. 若要開啟 Windows 事件檢視器，請在 **Run** (執行) 對話方塊中輸入 `eventvwr.msc`。

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

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

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

1. 在 **Event sources** (事件來源) 方塊中，輸入 `ena`。這會將結果限製為由 ENA Windows 驅動程式產生的事件。

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

具有 ID `59000` 的事件會通知您非最佳化的組態調查結果。在事件上按一下右鍵，然後選擇**事件屬性**以開啟詳細檢視，或從**檢視**功能表中選取**預覽窗格**，查看相同的詳細資訊。

![\[範例：系統事件 ID 59000 會顯示在 Windows 事件檢視器預覽窗格中。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ena-sub-opt-event-general.png)


開啟**詳細資訊**索引標籤以查看事件代碼。在**二進位資料：單字**區段中，最後一個單字為程式碼。

![\[範例：二進位資料區段中的最後一個字詞會以反白顯示。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ena-sub-opt-event-detail.png)


下列清單顯示通知程式碼詳細資訊，以及非最佳化組態調查結果的建議動作。
+ **程式碼 `1`：不建議使用帶寬 LLQ 組態的 ENA Express**

  ENA Express ENI 設定有寬 LLQ。此組態不是最佳化的，可能會影響 ENA Express 的效能。我們建議您在使用 ENA Express ENI 時停用寬 LLQ 設定，如下所示。

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

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

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

  1. 開啟 `Amazon Elastic Network Adapter` 的裝置屬性。

  1. 從該處開始，請開啟**進階**索引標籤以進行變更。

  1. 選取 **LLQ 標頭大小政策**屬性，並將其值設定為 `Normal (128 Bytes)`。

  1. 選擇 **OK (確定)** 以儲存變更。
+ **代碼 `2`：不建議使用具有次佳 Tx 佇列深度的 ENA Express ENI**

  設定 ENA Express ENI 為具有次佳 Tx 佇列深度。此組態可能會影響 ENA Express 的效能。使用 ENA Express ENI 時，建議您將所有 Tx 佇列擴大至網路介面的最大值，如下所示。

  請依照這些步驟，將 Tx 佇列擴大至最大深度：

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

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

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

  1. 開啟 `Amazon Elastic Network Adapter` 的裝置屬性。

  1. 從該處開始，請開啟**進階**索引標籤以進行變更。

  1. 選取**傳輸緩衝區**屬性，並將其值設定為受支援的最大值。

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

## ENA 轉接器重設
<a name="ts-ena-drv-reset"></a>

當 ENA Windows 驅動程式偵測到轉接器上的錯誤並將轉接器標記為運作狀態不良時，重設程序就會啟動。驅動程式無法自行重設，因此它依賴於作業系統來檢查轉接器的運作狀態，並叫用 ENA Windows 驅動程式的重設處理常式。重設程序可能會導致短時間內出現流量遺失。但是，TCP 連接應該能夠復原。

ENA 轉接器也可能透過傳送保持有效通知失敗而間接請求裝置重設程序。例如，如果 ENA 轉接器在載入不可恢復的組態之後達到未知狀態，它可能會停止傳送保持有效通知。

**ENA 轉接器重設的常見原因**
+ 缺少保持有效訊息

  ENA 轉接器以固定速率張貼保持有效事件 (通常每秒一次)。ENA Windows 驅動程式實作監視程式機制，該機制會檢查這些保持有效訊息的存在。如果自上次檢查以來偵測到一條或多條新訊息，它就會記錄成功結果。否則，驅動程式得出裝置出現故障的結論，並啟動重設序列。
+ 封包卡在傳輸佇列中

  ENA 轉接器驗證封包是否按預期方式通過傳輸佇列。ENA Windows 驅動程式偵測封包是否卡住，如果已卡住，則啟動重設序列。
+ 記憶體映射 I/O (MMIO) 暫存器的讀取逾時

  若要限制記憶體映射 I/O (MMIO) 讀取操作，ENA Windows 驅動程式僅在初始化和重設過程中存取 MMIO 暫存器。如果驅動程式偵測到逾時，它將執行以下動作之一，具體取決於正在執行的程序：
  + 如果在初始化過程中偵測到逾時，它會讓流程失敗，從而導致驅動程式在 Windows Device Manager (裝置管理員) 中的 ENA 轉接器上顯示黃色的驚歎號。
  + 如果在重設過程中偵測到逾時，則會讓流程失敗。然後，作業系統會啟動 ENA 轉接器的意外刪除，同時透過停止並啟動已刪除的轉接器來進行復原。有關意外刪除網路界面卡 (NIC) 的詳細資訊，請參閱 *Microsoft Windows 硬體開發人員*文件中的[處 NIC 的意外刪除](https://learn.microsoft.com/en-us/windows-hardware/drivers/network/handling-the-surprise-removal-of-a-nic)。

## 故障診斷方案
<a name="ts-ena-drv-scenarios"></a>

下列方案可以幫助您對 ENA Windows 驅動程式可能發生的問題進行故障診斷：如果您沒有最新版本，我們建議您從升級 ENA 驅動程式開始操作。若要尋找 Windows 作業系統版本的最新驅動程式，請參閱 [追蹤 ENA Windows 驅動程式版本版本](ena-driver-releases-windows.md)。

### 非預期的 ENA 驅動程式版本已安裝
<a name="ts-ena-drv-sc-unexpected-vsn"></a>

#### Description
<a name="ts-ena-drv-sc-unexpected-vsn-descr"></a>

在完成安裝特定版本 ENA 驅動程式的步驟之後，Windows Device Manager 會顯示 Windows 安裝了不同版本的 ENA 驅動程式。

#### 原因
<a name="ts-ena-drv-sc-unexpected-vsn-cause"></a>

當您執行驅動程式套件的安裝時，Windows 會在開始安裝之前，對本機[驅動程式存放區](https://learn.microsoft.com/en-us/windows-hardware/drivers/install/driver-store)中指定裝置的全部有效驅動程式套件進行排名。然後其會選取最低等級值的套件作為最佳相符項目。這可能與您要安裝的套件不同。如需有關裝置驅動程式套件選取程序的詳細資訊，請參閱 *Microsoft 文件網站*上的 [Windows 如何為裝置選取驅動程式套件](https://learn.microsoft.com/en-us/windows-hardware/drivers/install/how-windows-selects-a-driver-for-a-device)。

#### 解決方案
<a name="ts-ena-drv-sc-unexpected-vsn-solution"></a>

若要確保 Windows 會安裝您選擇的驅動程式套件版本，可以使用 [PnPUtil](https://learn.microsoft.com/en-us/windows-hardware/drivers/devtest/pnputil) 命令列工具從驅動程式存放區移除排名較低的驅動程式套件。

請遵循下列步驟更新 ENA 驅動程式：

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

1. 開啟 Device Manager (裝置管理員) 屬性視窗，如 [檢查 ENA 裝置狀態](#ts-ena-diagnostics-device-mgr) 部分中所述。這會開啟 **Amazon 彈性網路介面卡屬性**視窗的**一般**索引標籤。

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

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

   1. 在**您要如何搜尋驅動程式軟體？**區段中，選擇**瀏覽電腦上的驅動程式軟體**。

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

   1. 在**選取您要為此硬體安裝的裝置驅動程式**頁面中，選擇**擁有磁碟...**。

   1. 在**從磁碟安裝**視窗中，選擇下拉式清單中檔案位置旁邊的**瀏覽...**。

   1. 導覽至下載目標 ENA 驅動程式套件的位置。選取名為 `ena.inf` 的檔案，然後選擇**開啟**。

   1. 若要開始安裝，請選擇**確定**，然後選擇**下一步**。

1. 如果安裝程式未自動重新啟動執行個體，則請執行 **Restart-Computer** PowerShell cmdlet。

   ```
   PS C:\> Restart-Computer
   ```

### ENA 驅動程式的裝置警告
<a name="ts-ena-drv-sc-device-warn"></a>

#### Description
<a name="ts-ena-drv-sc-device-warn-descr"></a>

Device Manager (裝置管理員) 的 **Network adapters** (網路轉接器) 部分中的 ENA 轉接器圖示顯示一個警告符號 (內部帶有驚歎號的黃色三角形)。

下面的範例顯示了在 Windows Device Manager (裝置管理員) 中帶有警告圖示的 ENA 轉接器：

![\[範例：在 Windows Device Manager (裝置管理員)中帶有警告圖示的 ENA 轉接器。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ena-adapter-device-mgr-warn.png)


#### 原因
<a name="ts-ena-drv-sc-device-warn-cause"></a>

此裝置警告通常由環境問題引起，此問題可能需要進行更多的研究，並且通常需要執行消除程序來確定根本原因。如需完整的設備錯誤清單，請參閱 Microsoft 文件中的[設備管理器錯誤訊息](https://learn.microsoft.com/en-us/windows-hardware/drivers/install/device-manager-error-messages)。

#### 解決方案
<a name="ts-ena-drv-sc-device-warn-solution"></a>

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

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

1. 

**停止並啟動裝置。**

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

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

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

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

1. 

**停止並啟動 EC2 執行個體**

   如果轉接器仍在 Device Manager (裝置管理員) 中顯示警告圖示，則下一步是停止並啟動 EC2 執行個體。在大多數情況下，這會在不同硬體上重新啟動執行個體。

1. 

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

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

### 轉接器重設時連接逾時 (錯誤代碼 5007、5205)
<a name="ts-ena-drv-sc-conn"></a>

#### Description
<a name="ts-ena-drv-sc-conn-descr"></a>

Windows 事件檢視器顯示 ENA 轉接器的適配器逾時以及結合其發生的事件。消息類似以下範例：
+ **事件 ID 5007**：Amazon 彈性網路轉接器：操作過程中逾時。
+ **事件 ID 5205**：Amazon 彈性網路轉接器：轉接器重設已啟動。

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

#### 原因
<a name="ts-ena-drv-sc-conn-cause"></a>

此事件序列表示 ENA Windows 驅動程式為無回應的 ENA 轉接器啟動了重設。但是，裝置驅動程式用於偵測此問題的機制受到 CPU 0 不足導致的誤報約束。

#### 解決方案
<a name="ts-ena-drv-sc-conn-solution"></a>

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

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

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

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

1. 開啟 **CPU** 索引標籤。每個 CPU 的用量圖表顯示在 Resource Monitor (資源監視器) 視窗的右側。

1. 檢查 CPU 0 的用量級別，了解它們是否太高。

我們建議您設定 RSS 以排除較大執行個體類型 (超過 16 個 vCPU) 上適用於 ENA 轉接器的 CPU 0。對於較小的執行個體類型，設定 RSS 可能會改善體驗，但由於可用核心數量較少，因此必須進行測試，以確保限制 CPU 核心不會對效能產生負面影響。

使用 **Set-NetAdapterRss** 命令為 ENA 轉接器設定 RSS，如下列範例所示。

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

### 遷移到第六代執行個體基礎設施會影響效能或配件
<a name="ts-ena-drv-6gen-instance-perf"></a>

#### Description
<a name="ts-ena-drv-6gen-instance-perf-descr"></a>

如果遷移到第六代 EC2 執行個體，並且您尚未更新 ENA Windows 驅動程式版本，則可能會遇到效能下降或 ENA 配件故障。

#### 原因
<a name="ts-ena-drv-6gen-instance-perf-cause"></a>

依據執行個體作業系統 (OS)，第六代 EC2 執行個體類型需要以下 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 和更新版本  | 

#### 解決方案
<a name="ts-ena-drv-6gen-instance-perf-solution"></a>

在升級至第六代 EC2 執行個體之前，請確定您用來啟動的 AMI 具有相容驅動程式 (依據執行個體作業系統)，如上表所示。如需詳細資訊，請參閱 *AWS re:Post 知識中心*文章[在將 EC2 執行個體遷移至第六代執行個體之前，我需要做些什麼來確保獲得最高網路效能？](https://repost.aws/knowledge-center/migrate-to-gen6-ec2-instance)。

### 彈性網路介面效能不佳
<a name="ts-ena-drv-interface-perf"></a>

#### Description
<a name="ts-ena-drv-interface-perf-descr"></a>

ENA 介面未按預期發揮效能。

#### 原因
<a name="ts-ena-drv-interface-perf-cause"></a>

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

#### 解決方案
<a name="ts-ena-drv-interface-perf-solution"></a>

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

為了在執行個體上達到使用增強型聯網的最大網路效能，您可能需要修改預設的作業系統組態。根據預設，某些最佳化 (例如開啟檢查總和卸載和啟用 RSS) 已經在官方 Windows AMI 上設定。有關可套用至 ENA 轉接器的其他最佳化，請參閱 [ENA 轉接器效能調整](#ts-ena-drv-perf-adj) 中所示的效能調整。

我們建議您謹慎進行，並將裝置屬性調整限制在本節中列出的項目，或 AWS 支援團隊建議的特定變更。

若要變更 ENA 轉接器屬性，請按照下列步驟操作：

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

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

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

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

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

1. 若要進行變更，請開啟**進階**索引標籤。

1. 完成後，請選擇**確定**以儲存變更。

下面的範例顯示了 Windows Device Manager (裝置管理員) 中的 ENA 轉接器屬性：

![\[範例：Windows Device Manager (裝置管理員) 中顯示的 ENA 轉接器屬性。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ena-adapter-device-mgr-property.png)


##### ENA 轉接器效能調整
<a name="ts-ena-drv-perf-adj"></a>

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


**Input**  

| 屬性 | Description | 預設值 | 調整 | 
| --- | --- | --- | --- | 
|  接收緩衝區  |  控制軟體接收佇列中的項目數目。  |  1024  |  可提高至上限 8192。  | 
|  接收端調整 (RSS)  |  支援在多處理器系統中跨多個 CPU 高效分配網路接收處理。  |  已啟用  |  您可以將負載分散到多個處理器中。如需詳細資訊，請參閱 [在 EC2 Windows 執行個體上最佳化網路效能](enhanced-networking-os.md)。  | 
|  最大 RSS 佇列數  |  設定在 `RSS` 已啟用時允許的 RSS 佇列數上限。  |  32  |  RSS 佇列的數量是在驅動程式初始化過程中確定的，其包括以下限制 (除其他限制外)： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/troubleshoot-ena-driver.html) 根據執行個體和硬體世代限制，您可以設定 1-32 的值。如需詳細資訊，請參閱 [在 EC2 Windows 執行個體上最佳化網路效能](enhanced-networking-os.md)。  | 
|  巨型封包  |  允許使用巨型乙太網路訊框 (超過 1500 個位元組的承載)。  |  已停用 (這將承載限制為 1500 個位元組或更少)  |  值可以設定為最高 `9015`，即轉換為 9001 個位元組的承載。這是巨型乙太網路訊框的最大承載。請參閱 [使用巨型乙太網路訊框的考量事項](#ts-ena-drv-jumbo-frames)。  | 

##### 使用巨型乙太網路訊框的考量事項
<a name="ts-ena-drv-jumbo-frames"></a>

巨型訊框可增加單一封包的承載大小，這會增加不屬於封包成本的封包比例，藉此允許超過 1500 位元組的資料。傳送相同數量的可用資料，所需的封包數即會減少。但是，在下列情況下，流量限制為 MTU 最大為 1500：
+ EC2 Classic 指定 AWS 區域外的流量。
+ 單一 VPC 外的流量。
+ 跨區域 VPC 對等互連的流量。
+ VPN 連線的流量。
+ 網際網路閘道的流量。

**注意**  
超過 1500 個位元組的封包會分段。如果 IP 標頭設有 `Don't Fragment` 旗標，這些封包將被捨棄。  
巨型訊框應謹慎用於進出網路的流量，或任何離開 VPC 的流量。封包由中介系統切割，因此拖累流量速度。要在 VPC 內使用巨型訊框而不影響離開 VPC 的傳出流量，請嘗試以下選項之一：  
按路由設定 MTU 大小。
使用具有不同 MTU 大小和不同路由的多個網路介面。

**巨型訊框的建議使用案例**  
巨型訊框對於 VPC 內部和之間的流量非常有用。我們建議在以下使用案例中使用巨型訊框：
+ 以配置於叢集置放群組內的執行個體而言，巨型訊框有助實現最大網路傳輸量。如需詳細資訊，請參閱[Amazon EC2 執行個體的置放群組](placement-groups.md)。
+ 您可以針對透過 Direct Connect的 VPC 和現場部署網路之間的流量，使用 Jumbo Frame。如需有關使用 Direct Connect和驗證巨型訊框功能的詳細資訊，請參閱*Direct Connect 《 使用者指南*》中的[私有虛擬介面或傳輸虛擬介面的 MTU](https://docs.aws.amazon.com/directconnect/latest/UserGuide/WorkingWithVirtualInterfaces.html#set-jumbo-frames-vif.html)。
+ 如需傳輸閘道的支援 MTU 大小的詳細資訊，請參閱 *Amazon VPC 傳輸閘道*中的[傳輸閘道的配額](https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-quotas.html#mtu-quota)。