EC2 Network Performance Cheat Sheet

Andreas Wittig – 08 Jan 2018

EC2 Network Performance Cheat Sheet

What is the maximum network throughput of your EC2 instance? The answer to this question is key to choosing the type of an instance or defining monitoring alerts on network throughput. Unfortunately, you will only find very vague information about the networking capabilities of EC2 instances within AWS’s service description and documentation. That is why I run a network performance benchmark for almost all EC2 instance types within the last few days. The results are compiled into the following cheat sheet.

INSTANCE TYPE Baseline (Gbit/s) Burst (Gbit/s)
m5.large 0.74 10.04
m5.xlarge 1.24 10.04
m5.2xlarge 2.49 10.04
m5.4xlarge 4.97 10.04
m5.12xlarge 10.04
m5.24xlarge 21.49
t3.nano 0.03 5.06
t3.micro 0.06 5.09
t3.small 0.13 5.11
t3.medium 0.25 4.98
t3.large 0.51 5.11
t3.xlarge 1.02 5.11
t3.2xlarge 2.04 5.11

The data analysis in the table shows the burst and baseline throughput of each instance type. The burst throughput is defined as the 95th percentile, which means the throughput was at least reached for 3 minutes. The baseline throughput is defined as the 10th percentile, which means the throughput was reached at least for 54 minutes.

EC2 Network Performance Cheat Sheet

Download EC2 Network Performance Cheat Sheet

Looking for other instance types? Get access to the EC2 Network Performance Cheat Sheet, The MS Excel file (.xlsx) contains network benchmarks for more than 90 instance types.

Methodology

I have run the network performance benchmark in us-east-1 on April 12th, 2018 using iperf3. Each benchmark run took 60 minutes, and a data point was recorded every minute. A fresh c5.18xlarge was used as the counterparty for the network benchmark of each instance type. I have published the source code of the network benchmark at widdix/ec2-network-benchmark.

The benchmark measured the network performance of the following instance types.

c4.large, c4.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge
c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.18xlarge
d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge
g3.4xlarge, g3.8xlarge, g3.16xlarge
h1.2xlarge, h1.4xlarge, h1.8xlarge, h1.16xlarge
i3.large, i3.xlarge, i3.2xlarge, i3.4xlarge, i3.8xlarge, i3.16xlarge, i3.metal
m3.medium, m3.large, m3.xlarge, m3.2xlarge
m4.large, m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m4.16xlarge
m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.12xlarge, m5.24xlarge
p2.xlarge, p2.8xlarge, p2.16xlarge, p3.2xlarge, p3.8xlarge, p3.16xlarge
r3.large, r3.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge
r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge
r5.large, r5.xlarge, r5.2xlarge, r5.4xlarge, r5.12xlarge, r5.24xlarge
t1.micro
t2.nano, t2.micro, t2.small, t2.medium, t2.large, t2.xlarge, t2.2xlarge
t3.nano, t3.micro, t3.small, t3.medium, t3.large, t3.xlarge, t3.2xlarge
x1.16xlarge, x1.32xlarge, x1e.xlarge, x1e.2xlarge, x1e.4xlarge, x1e.8xlarge, x1e.16xlarge, x1e.32xlarge
z1d.large, z1d.xlarge, z1d.2xlarge, z1d.3xlarge, z1d.6xlarge, z1d.12xlarge

Update: I run the network performance benchmark for t3.*, i3.metal, and z1d.* at September 25th, 2018.

Disclaimer

Please note, that the network benchmark was just a random sample and does not claim to be 100% accurate. Therefore, you should treat the EC2 Network Performance Cheat Sheet as the first guide when choosing an instance type based on your network throughput needs. If network throughput is critical to your infrastructure, you should run network benchmarks yourself to verify my results.

One more thing

Read on and learn how to monitor the network utilization of your EC2 instances. On top of that, use marbot to receive CloudWatch alarms via Slack.

Andreas Wittig

Andreas Wittig

Consultant. Entrepreneur. Author. Focusing on Amazon Web Services (AWS) since 2013.

You can contact me via Email, Twitter, and LinkedIn.

Briefcase icon
Hire me