Reputation: 4519
I currently have a server with:
12 x (io1) volumes. Each with 1024gb capacity and 4000 provisioned iops.
This server ends up costing over $5000 a month.
I would like to cut costs a bit and replace the io1's with regular gp2's, however gp2's only have
3 iops/gb,
So a 1024gb gp2 only has 3072 iops. I would like to keep it above 4000.
I do not want more capacity, however if I increase the gp2's size to 1.5 terabytes, leave a half terabyte un-allocated, I can get the iops on each volume to be 4608.
I would pay less, and have overall better performance.
Assuming dropping down to 99% for yearly-performance for a gp2 from the %99.9 for io1 is acceptable:
Is there any reason this would not work? Would there be any other drawbacks?
Upvotes: 0
Views: 1454
Reputation: 41
You might also want to measure your IOPS requirements carefully to see if you are consistently using 4000 IOPS per volume. If not, you might be able to achieve the same or better results by creating multiple volumes. For e.g. create 2 x 512GB instead of 1 x 1024GB, which will keep the costs even lower (than creating a 1x 1.5TB GP2). Each GP2 volume can burst up to 3000 IOPS (giving you 6000 IOPS in the above e.g. with 1024GB capacity). You will fall back to 3072 IOPS though once the credits are exhausted. But, it will take about 60 minutes to empty out the credits from 512GB, which may be sufficient in some cases. Details here http://www.slideshare.net/AmazonWebServices/deep-dive-maximizing-ec2-and-ebs-performance
Upvotes: 1
Reputation: 201078
Yes it makes sense to oversize the volume to increase the IOPS. This is a fairly common thing to do. Leaving the space unallocated in the OS will have no bearing on the IOPS allocated by EBS. Although you could also just allocate it in the OS and have the extra space available for future growth.
The only drawback is that you have a lower max throughput per volume with gp2 (160 MiB/s) vs io1 (320 MiB/s) as seen in the table here.
Upvotes: 3