- Newest
- Most votes
- Most comments
When you see "under-provisioned for system IOPS capacity" in your RDS recommendations, it means that your database instance type (t4g.xlarge) may not be able to fully utilize the 12,000 IOPS you've provisioned with your gp3 storage.
This recommendation occurs when the provisioned IOPS for your storage exceeds what the DB instance class can effectively support, and your database is experiencing high IOPS utilization (as indicated by your 6k-9k IOPS during peak loads).
Each RDS instance type has its own IOPS capacity limits, regardless of the storage type you choose. While your gp3 storage is configured for 12,000 IOPS, your t4g.xlarge instance may have a lower IOPS limit, creating a bottleneck. When your workload demands high I/O operations, the instance itself becomes the limiting factor rather than the storage.
The recommendation suggests two options:
- Tune your database workload to reduce IOPS requirements
- Scale up to a larger instance type that can support higher IOPS
This is a common issue when there's a mismatch between storage configuration and instance capabilities. Even though you've provisioned sufficient storage IOPS, the instance class itself may be the limiting factor in your I/O performance. This can lead to degraded performance, especially during peak loads when your database is trying to perform many I/O operations simultaneously.
To resolve this, you could either optimize your workload to reduce I/O demands or upgrade to a larger instance class that can better handle your provisioned IOPS.
Sources
Recommendations from Amazon RDS reference - Amazon Relational Database Service
Capture and diagnose I/O bottlenecks on Amazon RDS for SQL Server | AWS Database Blog
Best practices for Amazon RDS - Amazon Relational Database Service
Community | Troubleshoot slow performance after moving to AWS RDS
Relevant content
- asked 4 months ago
- asked 2 years ago
