我想確定是什麼影響 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 執行個體上的網路瓶頸。
您可以啟動增強型網路,以獲得更高的頻寬、更高的每秒封包效能,並持續降低延遲。若要啟動增強型網路,請執行下列動作:
- 針對受支援的執行個體類型,請先確定您執行個體類型可用的增強型網路機制。
- 使用 ENA 或 Intel 82599 VF 介面在 EC2 執行個體上啟動增強型網路。
相關資訊
如果我的 CPU 受到節流,如何解決 T2 或 T3 EC2 Windows 執行個體的 CPU 使用率高的問題?