ECS storage I/O performance describes how fast an ECS (Elastic Compute Service) instance can read from and write to attached cloud disks. The three key metrics are IOPS (input/output operations per second), throughput, and access latency. Mismatched instance and disk configurations are the most common source of storage performance bottlenecks — understanding how instance types cap storage I/O performance, and how the burst credit mechanism works for smaller instance sizes, helps you provision the right combination and avoid those bottlenecks.
Storage I/O performance applies to cloud disks only, not local disks.
Key concepts
I/O size is the data transferred in a single read or write operation — for example, 4 KiB. I/O size, IOPS, and throughput are related by the formula:
Throughput = IOPS × I/O sizeFor IOPS and throughput limits per disk type, see Block storage performance.
Choose the right instance and disk combination
An instance's effective IOPS and throughput are capped at whichever is lower: the instance type's storage I/O ceiling or the total capacity of attached cloud disks. Attaching high-performance disks to an undersized instance type leaves instance-level performance on the table; conversely, upgrading the instance type when the disks are the bottleneck will not improve throughput.
Match the instance family to your workload's I/O profile:
High throughput, large I/O — workloads such as offline analytics and data warehouses benefit from big data instance families, which deliver high aggregate throughput.
High IOPS, small random I/O — latency-sensitive workloads such as OLTP (online transaction processing) databases and enterprise applications like SAP benefit from Enterprise SSDs (ESSDs) and standard SSDs paired with instance types that have high IOPS ceilings.
Consistent performance under load — for large database systems such as Oracle and MySQL, and enterprise applications such as ERP (Enterprise Resource Planning) and CRM (Customer Relationship Management), use new-generation enterprise-level instance families. These families allocate dedicated storage bandwidth per instance, isolating each instance's I/O from its neighbors, so performance stays consistent even during peak hours.
For a full list of instance families and their specifications, see Overview of instance families.
How instance types cap storage I/O performance
After you attach cloud disks to an instance, the instance's maximum IOPS is the lower of:
the instance type's storage I/O ceiling, or
the combined maximum IOPS of all attached cloud disks.

When disk IOPS exceeds the instance ceiling
The instance is capped at the instance type's maximum IOPS, regardless of how many high-performance disks you attach. When multiple disks are attached, they compete for the instance's I/O budget, so individual disk throughput fluctuates dynamically.
Example 1: An
ecs.g7se.xlargeinstance (16 GiB memory, 60,000 IOPS max) with one PL2 ESSD (ESSD at performance level 2, 2,000 GiB, 100,000 IOPS max) — the instance is capped at 60,000 IOPS.Example 2: An
ecs.g7se.4xlargeinstance (64 GiB memory, 150,000 IOPS max) with three PL2 ESSDs (2,000 GiB each, 100,000 IOPS each — 300,000 IOPS combined) — the instance is capped at 150,000 IOPS.
When disk IOPS falls below the instance ceiling
The instance is capped at the combined maximum IOPS of the attached disks. Upgrading to a larger instance type will not improve performance until you also upgrade the disks.
Example: An
ecs.g7se.4xlargeinstance (64 GiB memory, 150,000 IOPS max) with one PL3 ESSD (2,000 GiB, 101,800 IOPS max) — the instance is capped at 101,800 IOPS.
Sizing guidance: Provision disks whose combined IOPS equals or exceeds the instance type's ceiling to avoid leaving instance performance on the table. If the disks already exceed the instance ceiling, upgrading to a higher disk tier will not increase effective IOPS — upgrade the instance type instead.
Burst IOPS and burst storage bandwidth
Small 7th-generation and later instance types (large through 4xlarge) support bursting beyond their baseline IOPS and storage bandwidth. Use this mechanism for workloads with spiky I/O patterns — for example, instance startup, batch jobs, or traffic surges — where you need high performance for short periods but not continuously.
How burst credits work
Burst is credit-based. Credits accumulate while the instance's actual IOPS stays below the baseline, and are spent when IOPS exceeds the baseline. No SLA (service level agreement) commitment applies to burst performance.
A resource can be in one of three states at any moment:
| State | Description |
|---|---|
| Accruing | Actual I/O is below the baseline. Credits accumulate. |
| Bursting | Actual I/O is above the baseline. Credits are spent. |
| At baseline | Actual I/O equals the baseline exactly. No credit change. |
Burst IOPS
Metrics:
| Metric | Description |
|---|---|
| Baseline IOPS | The maximum IOPS an instance type sustains consistently under SLA. |
| Burst IOPS | The peak IOPS the instance can reach temporarily. Time-limited; no SLA commitment. |
Maximum burst duration at peak IOPS (by instance size):
| Instance size | Maximum burst duration |
|---|---|
| large | 5 minutes |
| xlarge | 10 minutes |
| 2xlarge | 20 minutes |
| 3xlarge | 30 minutes |
| 4xlarge | 40 minutes |
An instance with a lower credit balance, or with actual IOPS only slightly above baseline, will sustain burst for longer than these maximums.
Formulas:
Maximum credit balance = (Maximum burst IOPS - Baseline IOPS) × Maximum burst duration
Actual burst duration = Maximum credit balance / (Current IOPS - Baseline IOPS)Example: A cloud disk capable of 50,000 IOPS attached to an ecs.g7 instance. The table below shows baseline IOPS, burst IOPS, and how long the burst lasts.
| Instance type | Baseline IOPS of the cloud disk | Maximum burst IOPS of the cloud disk | Maximum burst duration (min) | Maximum credit balance | Actual burst duration (min) |
|---|---|---|---|---|---|
| ecs.g7.large | 20,000 | 160,000 | 5 | (16 - 2) × 5 = 70 | 70 / (5 - 2) = 23 |
| ecs.g7.xlarge | 40,000 | 160,000 | 10 | (16 - 4) × 10 = 120 | 120 / (5 - 4) = 120 |
| ecs.g7.2xlarge | 50,000 | 160,000 | 20 | (16 - 5) × 20 = 220 | Disk is at baseline — no burst needed |
| ecs.g7.3xlarge | 70,000 | 160,000 | 30 | (16 - 7) × 30 = 270 | Disk is below baseline — no burst needed |
| ecs.g7.4xlarge | 80,000 | 160,000 | 40 | (16 - 8) × 40 = 320 | Disk is below baseline — no burst needed |
For ecs.g7 instance type specifications, see g7, general-purpose instance family.
Burst storage bandwidth
Metrics:
| Metric | Description |
|---|---|
| Baseline storage bandwidth | The maximum storage bandwidth an instance type sustains consistently under SLA. |
| Burst bandwidth | The peak storage bandwidth the instance can reach temporarily. Time-limited; no SLA commitment. |
Maximum burst duration by instance size is the same as for burst IOPS: 5 minutes for large, up to 40 minutes for 4xlarge.
Formulas:
Maximum credit balance = (Maximum burst storage bandwidth - Baseline storage bandwidth) × Maximum burst duration
Actual burst duration = Maximum credit balance / (Current storage bandwidth - Baseline storage bandwidth)Example: A cloud disk capable of 3 Gbit/s attached to an ecs.g7 instance.
| Instance type | Baseline bandwidth of the cloud disk (Gbit/s) | Maximum burst bandwidth of the cloud disk (Gbit/s) | Maximum burst duration (min) | Maximum credit balance | Actual burst duration (min) |
|---|---|---|---|---|---|
| ecs.g7.large | 1.5 | 6 | 5 | (6 - 1.5) × 5 = 22.5 | 22.5 / (3 - 1.5) = 15 |
| ecs.g7.xlarge | 2 | 6 | 10 | (6 - 2) × 10 = 40 | 40 / (3 - 2) = 40 |
| ecs.g7.2xlarge | 3 | 6 | 20 | (6 - 3) × 20 = 60 | Disk is at baseline — no burst needed |
| ecs.g7.3xlarge | 4 | 6 | 30 | (6 - 4) × 30 = 60 | Disk is below baseline — no burst needed |
| ecs.g7.4xlarge | 5 | 6 | 40 | (6 - 5) × 40 = 40 | Disk is below baseline — no burst needed |
For ecs.g7 instance type specifications, see g7, general-purpose instance family.
What's next
Block storage performance — IOPS and throughput specifications for each disk type
Overview of instance families — full specifications for all ECS instance types