Search code examples
amazon-web-servicesamazon-rdssolid-state-driveprovisioned-iops

RDS IOPS limits


As I understand it General Purpose SSD's on an RDS instance have an IOPS limit based on the disk size until you get to 1TB when you can infinitely burst at 3000 IOPS.

Once you have a 1TB disk you can burst continuously at 3000 but I can't find any information on how this is capped or limited, could you in theory use 20000 IOPS on a 1TB general purpose SSD? I know you can on a provisioned IOPS disk use greater numbers than you have provisioned but this gets very expensive.

I've seen blog posts stating that the IOPS are capped based on the size but I can't find any info about this in the Amazon docs, only detail on disks smaller than 1TB. Any pointers or advice much appreciated! Thanks.


Solution

  • When using GP2 volumes, you have to consider two concepts:

    1. Baseline performance - represents the performance level without IO credits, proportional to the size of the volume and capped at 16000 IOPS.
    2. Burst balance credits - provides higher IO rates above baseline performance for a limited amount of time, up to 3000 IOPS.

    Baseline IOPS level is 3x(volume size in GB). The maximum burst credits a volume can accrue is 3000. That is what you already get as baseline performance when you create a volume of size 1000GB. Consequently, a GP2 volume can only reach higher IOPS levels if a bigger volume is allocated.

    You can provision bigger volumes up to 5,334GB, which provides the maximum IOPS you can get from an GP2 volume, 16000. You have to use io1 volumes, if your IOPS requirements exceeds this value.