為什麼我的 EC2 Windows 執行個體效能變慢?

2 分的閱讀內容
0

我想確定是什麼影響 Amazon Elastic Compute Cloud (Amazon EC2) Window 執行個體的效能。

簡短說明

以下是影響 EC2 執行個體整體效能的因素:

  • 高 CPU
  • 增加記憶體使用率
  • Amazon Elastic Block Store (Amazon EBS) 磁碟區 I/O
  • 過時的 AWS 驅動程式
  • 意外的網路輸入和輸出
  • 耗盡爆量額度

解決方法

判斷 EC2 執行個體類型

識別 EC2 執行個體類型,以判斷執行個體效能是否因為執行個體類型效能不佳而受到限制。

如果 T2 或 T3 執行個體顯示高 CPU 使用率,請將爆量效能設定為無限制。將爆量效能設定為無限制之後,執行個體會在任何需要的時間內維持高 CPU 使用率。

監控 CPU 和記憶體使用率

您可以使用 Windows Task Manager 或 Resource Monitor 來監控 CPU 和記憶體使用率。使用此資訊判斷哪些程序使用高於預期的 CPU 或記憶體。如要詳細資訊,請參閱當 CPU 未受到節流時,如何診斷 EC2 Windows 執行個體上的高 CPU 使用率。您也可以使用 Windows Performance Monitor 擷取此資料。

檢閱 EBS 指標

您可以使用 Amazon CloudWatch 審查 EBS 指標。尋找爆量餘額指標或 IOPS CloudWatch 指標,以確認磁碟區上是否有可用的 I/O 爆量額度。另外,請確認磁碟區不會高於基準效能。

當 EC2 執行個體上有多個應用程式時,這些應用程式會爭奪根 EBS 磁碟區的 IOPS。隨著工作負載的增長,IOPS 需求也會增加。若要改善執行個體的效能,請考慮為應用程式使用額外的非根目錄 EBS 磁碟區。此外,請考慮僅將根磁碟區用於操作系統。

更新 AWS 驅動程式

較舊的 AWS 驅動程式可能會導致 EC2 執行個體的效能問題。在管理員 PowerShell 中執行下列命令,判斷執行個體上目前安裝的 AWS 驅動程式:

dism /online /get-drivers /format:table | findstr Amazon

識別您的 EC2 執行個體上是否安裝了 ena.inf、awsnvme.inf 或 xenvbd.inf 驅動程式。將 AWS 驅動程式更新至最新版本並監控 EC2 效能。

根據執行個體類型判斷 EC2 執行個體是否需要 AWS NVMe 和 ENA 驅動程式。如果需要 AWS NVMe 或 ENA 驅動程式,請下載最新的驅動程式並將其安裝在 EC2 執行個體上。

最佳實務是為所有受支援的執行個體類型 (包括 T2 執行個體) 升級 Windows 伺服器 EC2 執行個體上的 AWS PV 驅動程式。

如果您發現 CPU、記憶體或網路使用量偏高,或發生間歇性連線問題,請更新執行個體上的 AWS 驅動程式。

使用下列 Windows 內建工具或 Sysinternals 識別效能瓶頸:

  • Task Manager
  • Resource Monitor
  • Performance Monitor
  • RAMMAP

監控網路輸入和網路輸出指標

使用 CloudWatch 指標計算 EC2 執行個體的網路輸入和網路輸出。網路輸入是執行個體在所有網路介面上接收到的位元組數。此指標可識別向單一執行個體輸入的網路流量。網路輸出指標是所有網路介面上執行個體傳出的位元組數目。此指標可識別從單一執行個體輸出的網路流量。這些指標有助於診斷 EC2 執行個體上的網路瓶頸。

您可以啟動增強型網路,以獲得更高的頻寬、更高的每秒封包效能,並持續降低延遲。若要啟動增強型網路,請執行下列動作:

  1. 針對受支援的執行個體類型,請先確定您執行個體類型可用的增強型網路機制
  2. 使用 ENAIntel 82599 VF 介面在 EC2 執行個體上啟動增強型網路。

相關資訊

如果我的 CPU 受到節流,如何解決 T2 或 T3 EC2 Windows 執行個體的 CPU 使用率高的問題?

AWS 官方
AWS 官方已更新 1 年前