Skip to content

How do I resolve network performance issues with sixth generation and later Amazon EC2 instances?

4 minute read
0

I want to prevent or resolve network performance issues that affect Amazon Elastic Compute Cloud (Amazon EC2) instances that are sixth generation and later.

Short description

Sixth generation and later EC2 instances must have updated Elastic Network Adapter (ENA) drivers.

If your ENA driver is outdated, then you experience the following issues:

  • Slower network throughput
  • Lower packets-per-second (PPS) rates
  • Higher latency
  • Instance launch failure
  • Elastic network interface attachment failure
  • Device initialization failure

Note: C6g, M6g, and R6g instances don't require an updated ENA driver. For information about instances that are built on the AWS Nitro System, see Instances built on the AWS Nitro System.

Resolution

To resolve network performance issues, complete the following steps based on your operating system (OS).

Linux, FreeBSD, and DPDK

Check your current ENA driver version

Run the following command based on your OS or environment.

Amazon Linux, or ENA drivers that you installed from the amzn-drivers/kernel/linux ena on the GitHub website:

modinfo ena

Other Linux distributions:

cat /etc/os-release; uname -r

FreeBSD:

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

Data Plane Development Kit (DPDK):

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

Note: Replace build_dir with your directory.

Check whether your ENA driver is outdated

The following table shows the minimum OS and software versions required for each environment:

EnvironmentOS versionENA driver or kernel version
Linux ENA driver from GitHubN/AENA driver 2.2.9g
Red Hat Enterprise Linux (RHEL)8.4Kernel 4.18.0-305
SUSE Linux Enterprise Server (SLES)SLES 12 SP4SLES 12 SP4: kernel 4.12.14-95.99.3, SLE 12 SP5: kernel 4.12.14-122.116.1, SLE 15: kernel 4.12.14-150000.150.92.2, SLE 15 SP1: kernel 4.12.14-150100.197.114.2, SLE 15 SP2: kernel 5.3.18-24.15.1
Ubuntu Server18.04.5 LTSKernel 5.4.0-1025-aws
Debian11Kernel 5.10.0
Upstream Linux kernelN/AKernel 5.9.1
FreeBSD12ENA driver 2.3.1
DPDKN/A20.11

If you use versions that are earlier than what's listed in the preceding table, then you must update the OS, ENA driver, or kernel version.

Important: Some ENA driver versions result in major performance issues such as launch failures, network interface attachment failures, or device initialization failures. This includes anything earlier than version 1.2.0g for Linux instances where you downloaded the ENA driver from GitHub, 2.3.1 for FreeBSD, or 18.11 for DPDK.

Update the OS, ENA driver, or kernel

Note: If you installed the Linux ENA driver from GitHub for RHEL or SLES, then you receive limited support from Red Hat or SUSE.

If the OS version doesn't meet the criteria, then you must upgrade the OS to a supported version. Or, relaunch the instance from a newer Amazon Machine Image (AMI).

The ENA driver is embedded into the kernel, so it's a best practice to update your kernel to the latest version. For instructions, check the documentation for your OS or environment. For Amazon Linux 2023 (AL2023), see Updating the Linux kernel on AL2023.

Note: For DPDK, update instructions vary based on whether you installed DPDK from a package or compiled it from source.

Windows

Check your ENA version to make sure that it's version v2.2.3 or later. If the ENA driver is version v2.2.0 or earlier, then upgrade the ENA driver.

Related information

Improve network latency for Linux based EC2 instances

Troubleshoot the Elastic Network Adapter Windows driver

Troubleshoot the ENA kernel driver on Linux

AWS OFFICIALUpdated 10 months ago
4 Comments

In Windows Server 2019, the Get-WmiObject cmdlet has been superseded by the Get-CimInstance cmdlet, which provides improved performance and compatibility. An updated version of this query would be: Get-CimInstance Win32_PnPSignedDriver | Select-Object DeviceName, DriverVersion | Where-Object { $_.DeviceName -like "Amazon Elastic Network" }

replied 3 years ago

Thank you for your comment. We'll review and update the Knowledge Center article as needed.

AWS
EXPERT

replied 3 years ago

AWS ENA Windows driver team update: The article contains incorrect information regarding Windows support.

  1. Windows Server 2008 R2 has reached EOL and is no longer supported by ENA. ENA supports Windows Server 2012 and later.
  2. The correct minimal Windows driver version that supports sixth gen is v2.2.3 and not as described. See the official AWS Windows documentation for details.
  3. In order to check the installed ENA Windows simply refer to Windows documentation in the section that covers the method to verify the ENA driver version after installation

Request to AWS moderator: Please update the article with the above information.

replied 3 years ago

Thank you for your comment. We'll review and update the Knowledge Center article as needed.

AWS
MODERATOR

replied 3 years ago