# gp3 Throughput Explained – EBS Volumes

Last Updated on January 13, 2021

In order for me to understand when a gp3 volume becomes cheaper than a gp2 volume, I need to understand the difference between the two EBS Volume types.

We have discussed before what is Throughput and how it affects performance of EBS Volumes. In this post we will be discussing the Throughput of gp3 volumes.

## What is the Throughput of gp3 Volumes?

gp3 volumes has the following details.

* price is based on N. Virginia Amazon Web Services (AWS) Region.

For gp3 EBS Volumes, the throughput you set is sustained throughout its life unless you modify it.

Unlike the gp2 which has a Throughput that is dependent on the size of the volume and its burst credits, gp3’s Throughput is dependent on what you set, and how much are you willing to pay for the Throughput.

Example 3.1: Let’s say that I provisioned a gp3 Volume with a size of 10 GiB, with the minimum IOPS of 3000 and minimum Throughput of 125 MiB/s.

Then as long as I do not go above the 125 MiB/s throughput, my I/O throughput will not be limited.

What if I try to write a 250 MiB file? Since my throughput is only 125 MiB/s, this will be written in 2 seconds because the write speed will be limited to 125 MiB/s.

``````Duration = (250 MiB) / (125 MiB/s)

Duration = 2 seconds``````

The cost of having this 10 GiB gp3 volume with 3000 IOPS and 125 MiB/s Throughput is \$0.8 per month.

``````Size Cost = (10 GiB * \$0.08/GiB-month)

Size Cost = \$0.8/month

IOPS Cost = Free since IOPS is 3000 IOPS (minimum)

Throughput Cost = Free since Throughput is 125 MiB/s (minimum)

Total Cost = Size Cost + IOPS Cost + Throughput Cost

Total Cost = \$0.8 + \$0 + \$0

Total Cost = \$0.8``````

Example 3.2: If I created a gp3 Volume with a size of 100 GiB, with a minimum of 3000 IOPS, and throughput of 500 MiB/s.

Then as long as I am accessing the data in the volume below the Throughput of 500 MiB/s I should not be throttled.

But if I try to access a 1500 MiB data, then this will take around 3 seconds to access, since I will be limited only 500 MiB/s.

``````Duration = (1500 MiB) / (500 MiB/s)

Duration = 3 seconds``````

The cost of having the 100 GiB gp3 volume with 3000 IOPS and 500 MiB/s Throughput is \$23 per month.

``````Size Cost = (100 GiB * \$0.08/GiB-month)

Size Cost = \$8/month

IOPS Cost = Free since IOPS is 3000 IOPS (minimum)

Throughput Cost = (500 MiB/s - 125 MiB/s) * \$0.04 / MiB/s-month

Throughput Cost = (375 MiB/s) * \$0.04 / MiB/s-month

Throughput Cost = \$15/month

Total Cost = Size Cost + IOPS Cost + Throughput Cost

Total Cost = \$8 + \$0 + \$15

Total Cost = \$23``````

## gp3 Throughput Cost

Since the Throughput of gp3 Volumes above 125 MiB/s has a cost of \$0.04/MiB/s-month then we can show its relationship with the graph below.

We can also show the pricing in the table below.

## Maximum Throughput of gp3 Volumes

In the AWS Documentation, the maximum Throughput of gp3 Volumes is 1,000 MiB/s. But because of the statement below in another section of the same documentation, not all gp3 volume configuration can be set to a maximum Throughput of 1,000 MiB/s.

The maximum ratio of provisioned IOPS to provisioned volume size is 500 IOPS per GiB.

The maximum ratio of provisioned throughput to provisioned IOPS is .25 MiB/s per IOPS.

Since I find it difficult to understand the statement above, let’s do some computation by checking the maximum Throughput of a 1 GiB size gp3 volume (minimum size) and finding out the size when we are be able to reach the maximum Throughput of 1,000 MiB/s.

### Computing for the maximum Throughput of 1 GiB sized gp3 volume

First, let’s find out the maximum IOPS we can assign a 1 GiB sized gp3 volume.

Since the minimum IOPS of a gp3 Volume is 3000 IOPS, the maximum ratio of 500 IOPS per GiB is not applicable to a 1 GiB gp3 volume. Therefore, the IOPS of a 1 GiB gp3 volume is 3000 IOPS.

We can now compute for the maximum Throughput. Since we know that the maximum ratio of a provisioned throughput to a provisioned IOPS is 0.25 MiB/s per IOPS, then doing the computation.

``````Maximum Throughput = 3000 IOPS * 0.25 MiB/s / IOPS

Maximum Throughput = 750 MiB/s``````

Now we see that the maximum Throughput we can assign a 1GiB gp3 Volume is only 750 MiB/s.

This actually holds true to all gp3 Volumes from 1 GiB to 6 GiB.

``````Maximum IOPS = 6 GiB * 500 IOPS / GiB

Maximum IOPS = 3000 IOPS

Maximum Throughput = 3000 IOPS * 0.25 MiB/s / IOPS

Maximum Throughput = 750 MiB/s``````

### Computing for the size when gp3 Volume is able to reach the maximum Throughput of 1,000 MiB/s

``````Maximum IOPS = Maximum Throughput / (0.25 MiB/s / IOPS)

Maximum IOPS = (1000 MiB/s) / (0.25 MiB/s IOPS)

Maximum IOPS = 4000 IOPS``````

So to get the maximum Throughput of 1000 MiB/s, you must assign your gp3 EBS Volume 4000 IOPS.

On the table below, we will see that we are able to reach the 4000 IOPS when we reach a volume size of 8 GiB.

## IOPS vs Maximum Throughput Graph

Since we can assign IOPS from 3000 IOPS to 16000 IOPS, maybe it is best to show a graph of IOPS to Maximum Throughput.

From the graph above, if you want to reach the 1000 MiB/s Throughput, then you’ll also have to set your IOPS to at least 4000 IOPS.

The minimum cost of having the maximum Throughput, without considering the size cost of the gp3 volume will be \$40/month.

``````IOPS Cost = (4000 IOPS - 3000 IOPS) * \$0.005/IOPS-month

IOPS Cost = (1000 IOPS) * \$0.005/IOPS-month

IOPS Cost = \$5/month

Throughput Cost = (1000 MiB/s - 125 MiB/s) * (\$0.04 / MiB/s-month)

Throughput Cost = (875 MiB/s) * (\$0.04 / MiB/s-month)

Throughput Cost = \$35/month

Additional Cost = IOPS Cost + Throughput Cost

Additional Cost = \$5/month + \$35/month