为什么我的 EC2 Windows 实例性能低下?

2 分钟阅读
0

我想确定哪些因素影响了我的 Amazon Elastic Compute Cloud(Amazon EC2)Windows 实例的性能。

简短描述

以下是影响 EC2 实例总体性能的因素:

  • 高 CPU
  • 提高内存利用率
  • Amazon Elastic Block Store(Amazon EBS)卷 I/O
  • 过时的 AWS 驱动程序
  • 意外的网络进出
  • 突增积分已耗尽

解决方法

确定 EC2 实例类型

确定您的 EC2 实例类型,以确定您的实例性能是否因实例类型性能不佳而受到限制。

如果您的 T2 或 T3 实例显示高 CPU 利用率,请将突增性能设置为无限制。将突增性能设置为无限制后,该实例将在任何要求的时间段内保持高 CPU 利用率。

监控 CPU 和内存利用率

您可以使用 Windows 任务管理器或资源监视器监控 CPU 和内存利用率。使用此信息来确定哪些进程使用的 CPU 或内存高于预期。有关详细信息,请参阅当我的 CPU 没有受到限制时,如何诊断 EC2 Windows 实例上的高 CPU 利用率。您也可以使用 Windows 性能监视器来捕获这些数据。

查看 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 实例上。

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

如果您注意到 CPU、内存或网络使用率过高,或者遇到间歇性连接问题,请更新实例上的 AWS 驱动程序。

使用以下 Windows 内置工具或 sysinternals 工具来识别性能瓶颈:

  • 任务管理器
  • 资源监视器
  • 性能监视器
  • RAMMAP

监控网络输入和网络输出指标

使用 CloudWatch 指标计算您的 EC2 实例的网络输入和网络输出。网络输入是实例在所有网络接口上接收的字节数。此指标确定了指向单个实例的传入网络流量。网络输出指标是实例在所有网络接口上发送的字节数。此指标确定了来自单个实例的传出网络流量。这些指标有助于诊断 EC2 实例上的网络瓶颈。

激活增强联网,以实现更高的带宽、更高的每秒数据包性能和持续更低的延迟。要激活增强联网,请执行下列操作:

  1. 对于支持的实例类型,请首先确定适用于您的实例类型的增强联网机制
  2. 使用 ENAIntel 82599 VF 接口在您的 EC2 实例上激活增强联网。

相关信息

如果我的 CPU 受到限制,如何解决 T2 或 T3 EC2 Windows 实例上 CPU 利用率高的问题?

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