Network bandwidth performance

0

We have deployed 2 ec2 instances in same availability zone i.e. r5.2xlarge as per this instance features it has capability of up 10 GB network performance I'm confuse about its bandwidth calculation. Can someone give clarity on below points.

  1. When it says up to 10 GB network performance is that mean it will give constant speed of 10GBPS.?
  2. If I want to check maximum network bandwidth limit between 2 ec2 instances (Linux) how we can measure?

Thanks in advance as this may help us for long term.

2 Answers
0

Hello,

The available network bandwidth of an instance depends on the number of vCPUs that it has. For example, an m5.8xlarge instance has 32 vCPUs and 10 Gbps network bandwidth, and an m5.16xlarge instance has 64 vCPUs and 20 Gbps network bandwidth. However, instances might not achieve this bandwidth; for example, if they exceed network allowances at the instance level, such as packet per second or number of tracked connections. How much of the available bandwidth the traffic can utilize depends on the number of vCPUs and the destination. For example, an m5.16xlarge instance has 64 vCPUs, so traffic to another instance in the Region can utilize the full bandwidth available (20 Gbps). However, traffic to another instance in a different Region can utilize only 50% of the bandwidth available (10 Gbps).

Typically, instances with 16 vCPUs or fewer (size 4xlarge and smaller) are documented as having "up to" a specified bandwidth; for example, "up to 10 Gbps". These instances have a baseline bandwidth. To meet additional demand, they can use a network I/O credit mechanism to burst beyond their baseline bandwidth. Instances can use burst bandwidth for a limited time, typically from 5 to 60 minutes, depending on the instance size. You could also consider scaling horizontally, by adding an instance. This would also give you an opportunity to use multiple availability zones and remove a single point of failure.

An instance receives the maximum number of network I/O credits at launch. If the instance exhausts its network I/O credits, it returns to its baseline bandwidth. A running instance earns network I/O credits whenever it uses less network bandwidth than its baseline bandwidth. A stopped instance does not earn network I/O credits. Instance burst is on a best effort basis, even when the instance has credits available, as burst bandwidth is a shared resource. R5 is a memory optimized instance.

Regarding bandwidth on the EC2 instances: Whilst some instance types can clearly deliver 10Gbps or more of bandwidth you can't use all of this for internet-bound traffic. You should expect to see the following limits on internet egress bandwidth per instance:

Single Flow from one instance - 5Gbps Multiple Flows from one instance - 5Gbps In many scenarios, multiple flows from an instance can hit much higher limits (e.g. 25Gbps to S3, or over VPC Peering links), but for Internet egress there is a 5Gbps cap per instance. You can find this in the public documentation here:

Network traffic outside a cluster placement group (e.g. to the Internet) is limited to 5 Gbps (full duplex)

Refer below for Network bandwidth limitation- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html

R5 instance limitation with respect to EBS bandwidth & Network performance- https://aws.amazon.com/ec2/instance-types/r5/

profile pictureAWS
SUPPORT ENGINEER
answered 2 years ago
  • Thanks for your answer. But when we say up to 10 GBPS what would it's baseline performance?

  • Your copy/paste of the official documentation and original source mention that the burstable instances have baseline bandwidth. Where can I find the actual values for baseline bandwidth for the general purpose instances? And what is the way to check or monitor Network Bandwidth credits balance. I can't seem to find CloudWatch metric for that (unlike CPU credits). Could you please help with this?

  • How about a link to the page for "baseline bandwidth"?

0

Network bandwidth may be affected by traffic from other processes. One possible option is to use the HPC stack (https://aws.amazon.com/hpc/ see information on Elastic Fabric Adapter which has bandwidth upto 100GB/s). On this one can run MPI bandwidth measurements (http://mvapich.cse.ohio-state.edu/benchmarks/ or https://github.com/intel/mpi-benchmarks), to get some idea of what can be achieved, though your software stack will also impact this.

bakwms
answered 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions