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.
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)|
|Additional instance types can be found in the download below.|
Download the free EC2 Network Performance Cheat Sheet (XLSX format).
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
Update: I run the network performance benchmark for
z1d.* at September 25th, 2018.
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.
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.