How to Choose Type of AWS EBS Volume out of GP2 and PIOPS | GP2 Vs PIOPS
Save Cost using GP2 Volumes Instead of Provisioned IO Volume
Aim:
- Understanding GP2 volume
- Understanding IO1 Volume
- Which one is cost and performance effective
- How much IOPS do you need?
- Which one to choose, GP2 or IO1
About GP2 Volumes:
- Cost effective (Explained below)
- Range in size from 1 GiB to 16 TiB
- Max throughput – 160 MB/s
- Baseline performance of 3 IOPS/GiB
- Baseline throughput can be increased by increasing volume size
- Maximum throughput of 160 MiB/s
- Ability to burst to 3,000 IOPS
- Refills at the rate of 3 IOPS and can go max upto 54,00,000 I/O credits
- More IO credits, the more time it can burst beyond its baseline capacity
- Larger GP2 volume refills the credits more quickly
- Initial credits – 54,00,000 I/O credits
- Volume accumulated 180K IOPS can burst upto 1 min (180000/3000 = 60s = 1 min)
About IO1 Volumes:
- For IO intensive workloads like databases
- Range from 4 GB to 16 TB
- Max throughput – 320 MB/s
- IOPS can be specified directly irrespective of the volume size
- No credit balance
Out of GP2 and IO1, which one is cost and performance effective?
- Performance:
GP2
100 GB volume (300 IOPS) [Baseline throughput – 128 MB/s]
can burst upto 3000 IOPSIO1
100 GB volume (300 IOPS) [Baseline throughput – 75 MB/s ]
No burst available
- Cost:
GP2 – 100 GB volume (300 IOPS) – $7/month
IO1 – 100 GB volume (300 IOPS) – $32/month
How much IOPS do you need?
- Check cloudwatch metrics
- Observe the sum of volumereadops and volumewriteops for a given period(peak) of time.
- Calculate it for one second, this would be the IOPS you need
Read operations – 830694
For one sec = 830694/(15*60) = 923 ops/s Write operations – 87500
For one sec = 87500/(15*60) = 97.22 ops/s
Total IOPS = 923 + 97.22 = 1020 IOPS
At max the IOPS consumed by the volume is 1020, hence we should provision at least 1020 IOPS