I don't know if AWS will respond with details, they haven't historically.
You have an RDS volume that has an expected number of IOPS associated with it. For io1 that is rather explicit. For gp2 it is implied by base + burst. If you have a >1TB gp2 volume it is a straight 3 IOPS per GB. The exact topology is irrelevant as long as it can deliver the expected IOPS.
While RDS had a size limit for gp2 that was less than the size limit for an EBS volume there would have been no obvious reason to stripe. With RDS now having a larger size limit (32TB vs EBS at 16TB) you would obviously have to stripe for volumes greater than 16TB. However, that introduces problems since you have to change the volume topology and rejiggering 16TB is very expensive. So at some pretty modest threshold RDS will either create a volume that is striped over multiple EBS volumes for new creates, or will do the rejiggering when you grow an existing volume that crosses the threshold. This gets you no additional performance, but does allow fast scale operations if you grow the volume beyond 16TB.
I'm not comfortable revealing further details without AWS having done so. Is there a reason that making those details public would be useful?
The exact topology matters.
Per EBS page https://aws.amazon.com/ebs/features/, max IOPS for a gp2 volume is 16,000 (achieved at 5,334 GB).
Thus, if you want to provision 2 x 5,334 GB of space, the optimal to go about it is to create 2 EBS volumes and stripe it. This would net twice the IOPS of 32,000 IOPS while not striping it yields 16,000 IOPS.
If I were an AWS RDS team, I would stripe it.
AWS, can you respond? This is important because we want to know what we pay for.
Edited by: TravellingSalesPerson on Mar 25, 2019 7:24 AM
Hi, you are correct volume geometry is an important detail in terms of both throughput and IOPS capacity.
RDS does not expose the volume geometry directly. However you can discover this detail through the Cloudwatch metrics. If you look in the enhanced monitoring metrics there is a "Physical Device I/O" category. From this you can select reads/s, writes/s. This will show per device metrics from which you can infer the number of volumes in your RAID0 stripe.
Understand that when you change the size of the RDS database volume, RDS might change the geometry.
Thanks Phil@AWS I tried your suggestion out and indeed "Enhanced monitoring" allows us to know how many disks are used.
EBS Volumes on RAID0 to gain perfomanceAccepted Answer
RDS EBS Volume stripingasked 4 years ago
Regarding the mounting of disk(EBS volume) on server in correct pathasked 8 months ago
Low throughput on EBS gp3 volumeasked 4 months ago
Multiple EBS volumes to gain perfomanceAccepted Answer
poor MariaDB RDS gp2 storage volume write performance?asked a year ago
Understanding RDS throughput limitsAccepted Answerasked 9 months ago
In RDS Custom SQL Server, can I adjust the main database storage using custom EBS or similar?Accepted Answerasked 4 months ago
Snapshots of encrypted EBS volumesasked 6 months ago
EBS gp3 volumes in Severely Degraded stateasked 7 months ago