我想了解如何通过监控 CPU、内存、EBS 卷 I/O 和网络指标来排查和解决 Amazon EC2 Windows 实例上性能缓慢的问题。
以下因素可能会影响 Amazon Elastic Compute Cloud (Amazon EC2) Window 实例的性能:
要确定 Windows 实例的 CPU 或内存性能过高问题,请使用 AWSSupport-TroubleshootWindowsPerformance AWS Systems Manager Automation 运行手册。遇到性能问题时,最佳做法是使用运行手册。
在开始运行手册之前,请确保您的 AWS Identity and Access Management (IAM) 用户或角色具有所需的权限。要将捕获的日志上传到 Amazon Simple Storage Service (Amazon S3),请确保您的实例配置文件具有所需的权限。有关更多信息,请参阅 AWSSupport-TroubleshootWindowsPerformance 中的“必要 IAM 权限”部分。
要配置运行手册,请参阅 AWSSupport-TroubleshootWindowsPerformance 中的“说明”部分。
**注意:**运行手册不会分析 EC2Rescure 捕获的进程转储和日志。如果必须查看日志,可以进行手动查看。
运行手册会输出性能指标的摘要。根据性能指标可以确定使用最多资源的进程。要进行其他故障排查,请完成以下部分的操作。
要确定实例性能是否因实例类型性能不佳而被限流,请确定 EC2 实例类型。
如果 T2 或 T3 实例显示出较高的 CPU 利用率,请将突增性能设置为无限制,以便在任何所需时间段内保持高 CPU 利用率。
要监控使用高 CPU 和内存利用率的进程,请使用 Windows 任务管理器、资源管理器或性能监视器。有关更多信息,请参阅当我的 CPU 没有受到限制时,如何诊断 EC2 Windows 实例上的高 CPU 利用率?
可以使用 Amazon CloudWatch 查看 EBS 指标。查看突增余额指标或 IOPS CloudWatch 指标,以验证该卷上是否有可用的 I/O 突增积分。此外,请确认卷未超过基准性能。
当一个实例上存在多个应用程序时,IOPS 需求会增加。要提高实例的性能,请为应用程序使用额外的非根 EBS 卷。仅将根卷用于操作系统(OS)。
过时的 AWS 驱动程序可能会导致实例出现性能问题。如果出现较高的 CPU、内存或网络利用率,或者遇到间歇性连接问题,请更新实例上的 AWS 驱动程序。
要确定实例上安装的 AWS 驱动程序,请在 Windows PowerShell 中以管理员身份运行以下命令:
dism /online /get-drivers /format:table | findstr Amazon
如果实例上安装了 ena.inf、awsnvme.inf 或 xenvbd.inf 驱动程序,请将驱动程序更新到最新版本。
根据实例类型,确定实例是否需要 AWS NVMe 和弹性网络适配器 (ENA) 驱动程序。如果实例需要 AWS NVMe 或 ENA 驱动程序,请下载最新的驱动程序并将其安装在您的实例上。
最佳做法是在 Windows 实例上为所有支持的实例类型(包括 T2 实例)升级 AWS PV 驱动程序。
计算实例的 NetworkIn 和 NetworkOut CloudWatch 指标,帮助诊断实例网络带宽问题。
要增加网络带宽、每秒数据包性能并持续降低延迟,请开启增强联网。首先确定适用于您的实例类型的增强联网机制。然后,使用 ENA 或 Intel 82599 VF 接口开启增强联网。
如何解决 CPU 遭遇节流时 T2 或 T3 EC2 Windows 实例 CPU 占用率高的问题?
AWS Support 自动化工作流(SAW)
设置自动化
运行自动化