RDS supports scaling out read performance by adding read-only instances. This page covers the instance families, IOPS, and I/O bandwidth that apply to all RDS read-only instances.
For primary instance types, see Primary instance types.
Instance types by engine
Instance families
The instance family controls how CPU, memory, storage, and I/O resources are allocated, and directly affects performance consistency under load.
| Family | Storage class | Dedicated resources | Shared resources | Use when |
|---|---|---|---|---|
| General-purpose | Cloud disk | Memory, storage | CPU, I/O | Read workloads tolerant of occasional fluctuation; cost-sensitive deployments |
| Premium Local SSDs | Memory | CPU, storage, I/O | Same as above with local SSD storage | |
| Dedicated | Cloud disk | CPU, memory, storage, I/O | — | Stable read performance is required; no resource contention with other instances |
| Premium Local SSDs | CPU, memory, storage | I/O | Dedicated resources with local SSD storage | |
| Dedicated physical server | Premium Local SSDs | CPU, memory, storage, I/O | — | Highest isolation; mission-critical or latency-sensitive read workloads |
Performance on general-purpose instances may fluctuate when the underlying physical server is under high load. Dedicated and dedicated physical server instances eliminate this variability.
IOPS
Input/output operations per second (IOPS) measures a storage system's ability to handle read and write requests. It is the primary metric for random I/O performance. Three factors determine actual IOPS: instance type, storage class, and storage capacity.
Premium Local SSD instances: Actual maximum IOPS equals the value listed in the primary instance type table.
Cloud disk instances: Actual maximum IOPS is the minimum of three limits — instance type, storage capacity, and storage class cap. Use the formulas below.
| Storage class | Formula (storage capacity in GB) | Maximum cap |
|---|---|---|
| Premium performance disk — performance burst enabled | min{Max IOPS of instance type, 1,000,000} | 1,000,000 |
| Premium performance disk — performance burst disabled | min{Max IOPS of instance type, 1,800 + 50 × storage capacity, 50,000} | 50,000 |
| Enterprise SSD (ESSD) PL3 | min{Max IOPS of instance type, 1,800 + 50 × storage capacity, 1,000,000} | 1,000,000 |
| Enterprise SSD (ESSD) PL2 | min{Max IOPS of instance type, 1,800 + 50 × storage capacity, 100,000} | 100,000 |
| Enterprise SSD (ESSD) PL1 | min{Max IOPS of instance type, 1,800 + 50 × storage capacity, 50,000} | 50,000 |
| Standard SSD | min{Max IOPS of instance type, 1,800 + 30 × storage capacity, 25,000} | 25,000 |
Example: Instance type mysql.x2.large.2c, storage class PL1 ESSD, storage capacity 20 GB.
| Limiting factor | Value |
|---|---|
| Instance type max IOPS | 20,000 |
| Storage capacity limit | 1,800 + 50 × 20 = 2,800 |
| Storage class cap (PL1) | 50,000 |
Actual maximum IOPS = 2,800 — limited by storage capacity.
Database reads and writes do not map 1:1 to disk I/O operations. A single MySQL read or write is 16 KB by default, while the cloud disk I/O block size is 4 KB — so one MySQL operation consumes four disk I/O operations. Different engines also have different default page sizes, which affects how many actual database operations correspond to a given IOPS value:
MySQL (16 KB page size): 1,000 disk I/O operations = 250 database read/write operations
SQL Server (8 KB page size): 1,000 disk I/O operations = 500 database read/write operations
I/O bandwidth
I/O bandwidth measures a storage system's ability to sustain continuous reads and writes. It is the primary metric for sequential I/O performance. The same three factors apply: instance type, storage class, and storage capacity.
For cloud disk instances, actual maximum I/O bandwidth is the minimum of three limits. Use the formulas below.
| Storage class | Formula (I/O bandwidth in MB/s, storage capacity in GB) | Maximum cap |
|---|---|---|
| Premium performance disk — performance burst enabled | min{Max I/O bandwidth of instance type, 4,000} | 4,000 MB/s |
| Premium performance disk — performance burst disabled | min{Max I/O bandwidth of instance type, 120 + 0.5 × storage capacity, 350} | 350 MB/s |
| ESSD PL3 | min{Max I/O bandwidth of instance type, 120 + 0.5 × storage capacity, 4,000} | 4,000 MB/s |
| ESSD PL2 | min{Max I/O bandwidth of instance type, 120 + 0.5 × storage capacity, 750} | 750 MB/s |
| ESSD PL1 | min{Max I/O bandwidth of instance type, 120 + 0.5 × storage capacity, 350} | 350 MB/s |
| Standard SSD | min{Max I/O bandwidth of instance type, 120 + 0.5 × storage capacity, 300} | 300 MB/s |
Example: Instance type mysql.x2.large.2c, storage class PL3 ESSD, storage capacity 5,000 GB.
| Limiting factor | Value |
|---|---|
| Instance type max I/O bandwidth | 192 MB/s |
| Storage capacity limit | 120 + 0.5 × 5,000 = 2,620 MB/s |
| Storage class cap (PL3) | 4,000 MB/s |
Actual maximum I/O bandwidth = 192 MB/s — limited by instance type.
Relationship between IOPS and I/O bandwidth
IOPS and I/O bandwidth are linked by this formula:
I/O bandwidth (MB/s) = IOPS × I/O block size (KB) / 1,024The I/O block size here is the size of a single disk operation — 4 KB for cloud disks by default — not the database page size.
In practice, IOPS and I/O bandwidth rarely reach their maximums at the same time:
Small I/O block size (e.g., 4 KB): IOPS hits its cap before I/O bandwidth does. IOPS is the bottleneck.
Large I/O block size (e.g., 256 KB): I/O bandwidth hits its cap before IOPS does. I/O bandwidth is the bottleneck.
Pricing
For read-only instance pricing, see the official purchase page.