AWS EBS Volume Types
- AWS provides the following EBS volume types, which differ in performance characteristics and price which can be tailored for storage performance and cost to the needs of the applications:
- General Purpose SSD Volumes (gp2)
- Provisioned IOPS SSD Volumes (io1)
- Magnetic Volumes (standard)
General Purpose SSD Volumes (gp2)
- General Purpose SSD volumes offer cost-effective storage that is ideal for a broad range of workloads.
- General Purpose SSD volumes deliver single-digit millisecond latencies
- General Purpose SSD volumes can range in size from 1 GiB to 16 TiB.
- General Purpose SSD volumes has a maximum throughput of 160 MiB/s (at 214 GiB and larger).
- GP2 provides a baseline performance of 3 IOPS/GiB
- GP2 provides the ability to burst to 3,000 IOPS for extended periods of time for volume size less then 1 TiB and up to a maximum of 10,000 IOPS (at 3,334 GiB).
- If the volume performance is frequently limited to the baseline level (due to an empty I/O credit balance),
- consider using a larger General Purpose SSD volume (with a higher baseline performance level) or
- switching to a Provisioned IOPS SSD volume for workloads that require sustained IOPS performance greater than 10,000 IOPS.
I/O Credits and Burst Performance
- I/O credits represent the available bandwidth that your General Purpose SSD volume can use to burst large amounts of I/O when more than the baseline performance is needed.
- General Purpose SSD volume performance is governed by volume size, which dictates the baseline performance level of the volume for e.g. 100 GiB volume has a 300 IOPS @ 3 IOPS/GiB
- General Purpose SSD volume size also determines how quickly it accumulates I/O credits for e.g. 100 GiB with a performance of 300 IOPS can accumulate 180K IOPS/10 mins (300 * 60 * 10).
- Larger volumes have higher baseline performance levels and accumulate I/O credits faster for e.g. 1 TiB has a baseline performance of 3000 IOPS
- More credits the volume has for I/O, the more time it can burst beyond its baseline performance level and the better it performs when more performance is needed for e.g. 300 GiB volume with 180K I/O credit can burst @ 3000 IOPS for 1 minute (180K/3000)
- Each volume receives an initial I/O credit balance of 5,400,000 I/O credits, which is enough to sustain the maximum burst performance of 3,000 IOPS for 30 minutes.
- Initial credit balance is designed to provide a fast initial boot cycle for boot volumes and a good bootstrapping experience for other applications.
- Each volume can accumulate I/O credits over a period of time which can be to burst to the required performance level, up to a max of 3,000 IOPS
- Unused I/O credit cannot go beyond 54,00,000 I/O credits.
- Volumes till 1 TiB can burst up to 3000 IOPS over an above its baseline performance
- Volumes larger than 1 TiB have a baseline performance that is already equal or greater than the maximum burst performance, and their I/O credit balance never depletes.
- Baseline performance cannot be beyond 10000 IOPS for General Purpose SSD volumes and this limit is reached @ 3333 GiB
- Formula – 3 IOPS i.e. GiB * 3
- Calculation example
- 1 GiB volume size = 3 IOPS (1 * 3 IOPS)
- 250 GiB volume size = 750 IOPS (250* 3 IOPS)
Maximum burst duration @ 3000 IOPS
- How much time can 5400000 IO credit be sustained @ the burst performance of 3000 IOPS. Subtract the baseline performance from 3000 IOPS which would be contributed by the volume size
- Formula – 5400000/(3000 – Baseline performance)
- Calculation example
- 1 GiB volume size @ 3000 IOPS with 5400000 the burst performance can be maintained for 5400000/(3000-3) = 1802 secs
- 250 GiB volume size @ 3000 IOPS with 5400000 the burst performance can be maintained for 5400000/(3000-250) = 2400 secs
Time to fill the 5400000 I/O credit balance
- Formula – 5400000/Baseline performance
- 1 GiB volume size @ 3 IOPS would require 5400000/3 = 1800000 secs
- 250 GiB volume size @ 750 IOPS would require 5400000/750 = 7200 secs
Provisioned IOPS SSD Volumes
- Provisioned IOPS SSD volumes are designed to meet the needs of I/O intensive workloads, particularly database workloads, that are sensitive to storage performance and consistency in random access I/O throughput.
- IOPS rate can be specified when the volume is created, and EBS delivers within 10 percent of the provisioned IOPS performance 99.9 percent of the time over a given year.
- Provisioned IOPS SSD volume can range in size from 4 GiB to 16 TiB
- Provisioned IOPS SSD volumes have a throughput limit range of 256 KiB for each IOPS provisioned, up to a maximum of 320 MiB/s (at 1,280 IOPS).
- Provisioned IOPS SSD volume can be provision up to 20,000 IOPS per volume. The ratio of IOPS provisioned to the volume size requested can be a maximum of 30; for example, a volume with 3,000 IOPS must be at least 100 GiB.
- Provisioned IOPS SSD volumes can be striped together in a RAID configuration for larger size and greater performance over 20000 IOPS
Magnetic Volumes (standard)
Magnetic volumes provide the lowest cost per gigabyte of all EBS volume types. Magnetic volumes are backed by magnetic drives and are ideal for workloads performing sequential reads, workloads where data is accessed infrequently, and scenarios where the lowest storage cost is important.
- Magnetic volumes can range in size from1 GiB to 1 TiB
- These volumes deliver approximately 100 IOPS on average, with burst capability of up to hundreds of IOPS
- Magnetic volumes can be striped together in a RAID configuration for larger size and greater performance.