跳至内容

如何解决第 6 代及更高版本的 Amazon EC2 实例的网络性能问题?

2 分钟阅读
0

我想预防或解决影响第 6 代及更高版本的 Amazon Elastic Compute Cloud (Amazon EC2) 实例的网络性能问题。

简短描述

第 6 代及更高版本的 EC2 实例必须具有更新的弹性网络适配器 (ENA) 驱动程序。

如果您的 ENA 驱动程序已过时,则会遇到以下问题:

  • 网络吞吐量降低
  • 每秒数据包数 (PPS) 速率降低
  • 延迟升高
  • 实例启动失败
  • 弹性网络接口连接失败
  • 设备初始化失败

**注意:**C6g、M6g 和 R6g 实例不需要更新的 ENA 驱动程序。有关在 AWS Nitro System 上构建的实例的信息,请参阅在 AWS Nitro System 上构建的实例

解决方法

要解决网络性能问题,请根据您的操作系统 (OS) 完成以下步骤。

Linux、FreeBSD 和 DPDK

检查您当前的 ENA 驱动程序版本

根据您的操作系统或环境运行以下命令。

Amazon Linux,或您从 GitHub 网站上的 amzn-drivers/kernel/linux ena 安装的 ENA 驱动程序:

modinfo ena

其他 Linux 发行版:

cat /etc/os-release; uname -r

FreeBSD:

cat /etc/os-release; dmesg | grep 'ena v[0-9]'

数据面板开发工具包 (DPDK):

/build_dir/app/dpdk-proc-info -- --version

**注意:**将 build_dir 替换为您的目录。

检查您的 ENA 驱动程序是否已过时

下表显示了每个环境所需的最低操作系统和软件版本:

环境操作系统版本ENA 驱动程序或内核版本
来自 GitHub 的 Linux ENA 驱动程序不适用ENA 驱动程序 2.2.9g
Red Hat Enterprise Linux (RHEL)8.3内核 4.18.0-240.1.1
SUSE Linux Enterprise Server (SLES)SELS 12 SP4SLES 12 SP4:内核 4.12.14-95.99.3,SLE 12 SP5:内核 4.12.14-122.116.1,SLE 15:内核 4.12.14-150000.150.92.2,SLE 15 SP1:内核 4.12.14-150100.197.114.2,SLE 15 SP2:内核 5.3.18-24.15.1
Ubuntu Server18.04.5 LTS内核 5.4.0-1025-aws
Debian11内核 5.10.0
Upstream Linux 内核不适用内核 5.9.1
FreeBSD12ENA 驱动程序 2.3.1
DPDK不适用20.11

如果您使用的版本早于上表中列出的版本,则必须更新操作系统、ENA 驱动程序或内核版本。

**重要事项:**某些 ENA 驱动程序版本会导致重大的性能问题,例如启动失败、网络接口连接失败或设备初始化失败。这包括适用于从 GitHub 下载了 ENA 驱动程序的 Linux 实例的 1.2.0g 版本、适用于 FreeBSD 的 2.3.1 版本或适用于 DPDK 的 18.11 版本之前的任何版本。

更新操作系统、ENA 驱动程序或内核

**注意:**如果您从 GitHub 安装了适用于 RHEL 或 SLES 的 Linux ENA 驱动程序,您将获得 Red Hat 或 SUSE 的有限支持。

如果操作系统版本不符合条件,则必须将操作系统升级到支持的版本。或者,从较新的亚马逊机器映像 (AMI) 重启实例

ENA 驱动程序嵌入到内核中,因此最佳做法是将内核更新到最新版本。有关说明,请查看您的操作系统或环境的文档。对于 Amazon Linux 2023 (AL2023),请参阅在 AL2023 上更新 Linux 内核

**注意:**对于 DPDK,更新指令因安装方式不同而有所差异,具体取决于您是通过软件包安装还是从源代码编译安装。

Windows

检查您的 ENA 版本以确保其版本为 v2.2.3 或更高版本。如果 ENA 驱动程序是 v2.2.0 或更早版本,请升级 ENA 驱动程序

相关信息

改善基于 Linux 的 EC2 实例的网络延迟

对弹性网络适配器 Windows 驱动程序进行故障排除

对 Linux 上的 ENA 内核驱动程序进行故障排除

AWS 官方已更新 1 个月前