EC2 Network Performance Cheat Sheet

Andreas Wittig – 08 Jan 2018 (updated 12 Oct 2018)

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.

EC2 Network Performance Cheat Sheet

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.

The data analysis in the following 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.

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
...

For more information, please download the EC2 Network Performance Cheat Sheet as described next.

EC2 Network Performance Cheat Sheet

Download the complete cheat sheet

We measured the network throughput of almost all instance types. Our EC2 Network Performance Cheat Sheet (MS Excel file) contains network benchmarks for more than 90 instance types. Download now!

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

I’m an independent consultant, technical writer, and programming founder. All these activities have to do with AWS. I’m writing this blog and all other projects together with my brother Michael.

In 2009, we joined the same company as software developers. Three years later, we were looking for a way to deploy our software—an online banking platform—in an agile way. We got excited about the possibilities in the cloud and the DevOps movement. It’s no wonder we ended up migrating the whole infrastructure of Tullius Walden Bank to AWS. This was a first in the finance industry, at least in Germany! Since 2015, we have accelerated the cloud journeys of startups, mid-sized companies, and enterprises. We have penned books like Amazon Web Services in Action and Rapid Docker on AWS, we regularly update our blog, and we are contributing to the Open Source community. Besides running a 2-headed consultancy, we are entrepreneurs building Software-as-a-Service products.

We are available for projects.

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

Briefcase icon
Hire me