使用AWS re:Post即您表示您同意 AWS re:Post 使用条款

为什么我的 EC2 Windows 实例性能缓慢?

2 分钟阅读
0

我想了解如何通过监控 CPU、内存、EBS 卷 I/O 和网络指标来排查和解决 Amazon EC2 Windows 实例上性能缓慢的问题。

简短描述

以下因素可能会影响 Amazon Elastic Compute Cloud (Amazon EC2) Window 实例的性能:

  • 高 CPU
  • 高内存
  • Amazon Elastic Block Store(Amazon EBS)卷 I/O
  • 过时的 AWS 驱动程序
  • 网络带宽问题
  • 突增积分已耗尽

解决方法

使用 Automation 运行手册来排查性能问题

要确定 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 和内存利用率

要监控使用高 CPU 和内存利用率的进程,请使用 Windows 任务管理器、资源管理器或性能监视器。有关更多信息,请参阅当我的 CPU 没有受到限制时,如何诊断 EC2 Windows 实例上的高 CPU 利用率

查看 EBS 指标

可以使用 Amazon CloudWatch 查看 EBS 指标。查看突增余额指标或 IOPS CloudWatch 指标,以验证该卷上是否有可用的 I/O 突增积分。此外,请确认卷未超过基准性能。

当一个实例上存在多个应用程序时,IOPS 需求会增加。要提高实例的性能,请为应用程序使用额外的非根 EBS 卷。仅将根卷用于操作系统(OS)。

更新 AWS 驱动程序

过时的 AWS 驱动程序可能会导致实例出现性能问题。如果出现较高的 CPU、内存或网络利用率,或者遇到间歇性连接问题,请更新实例上的 AWS 驱动程序。

要确定实例上安装的 AWS 驱动程序,请在 Windows PowerShell 中以管理员身份运行以下命令:

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

如果实例上安装了 ena.infawsnvme.infxenvbd.inf 驱动程序,请将驱动程序更新到最新版本。

根据实例类型,确定实例是否需要 AWS NVMe 和弹性网络适配器 (ENA) 驱动程序。如果实例需要 AWS NVMe 或 ENA 驱动程序,请下载最新的驱动程序并将其安装在您的实例上。

最佳做法是在 Windows 实例上为所有支持的实例类型(包括 T2 实例)升级 AWS PV 驱动程序

监控 NetworkIn 和 NetworkOut 指标

计算实例的 NetworkIn 和 NetworkOut CloudWatch 指标,帮助诊断实例网络带宽问题。

要增加网络带宽、每秒数据包性能并持续降低延迟,请开启增强联网。首先确定适用于您的实例类型的增强联网机制。然后,使用 ENAIntel 82599 VF 接口开启增强联网。

相关信息

如何解决 CPU 遭遇节流时 T2 或 T3 EC2 Windows 实例 CPU 占用率高的问题?

AWS Support 自动化工作流(SAW)

设置自动化

运行自动化

AWS 官方
AWS 官方已更新 8 个月前