<!-- llms-explorer concept facts · https://llms-explorer.com/tree/gen1-versus-gen2-iops-provisioning-and-instance-level-ebs-vm-iops-caps/ · pack 2026-10-30 · ~1975 tokens -->

# Gen1 versus Gen2 IOPS provisioning and instance-level EBS/VM IOPS caps

> Source-anchored research for Gen1 versus Gen2 IOPS provisioning and instance-level EBS/VM IOPS caps. Run status: COMPLETED.

Parent: [Cluster Tier Limits and Feature Gates as Cost Drivers (Connections, IOPS Caps, Minimum Tiers)](https://llms-explorer.com/tree/cluster-tier-limits-and-feature-gates-as-cost-drivers-connections-iops-caps-minimum-tiers/) · 5 facets · 19 facts · page: https://llms-explorer.com/tree/gen1-versus-gen2-iops-provisioning-and-instance-level-ebs-vm-iops-caps/

## Definitions

- On AWS, Gen1 Provisioned IOPS and Gen2 High Performance IOPS refer to the same performance class, backed by Provisioned IOPS SSD volumes. Gen2 Extended Standard IOPS uses the Standard class instead; these options have different latency and consistency characteristics. (high confidence) (verified as of 2026-10-14) — [source](https://www.mongodb.com/docs/atlas/customize-storage.md)

## Measurements and reference values

- AWS Gen1 M30+ standard storage starts at 3,000 IOPS. At 1 TB or more Atlas applies a 3:1 IOPS-to-GB ratio, subject to the 16,000 standard-IOPS ceiling. Gen2 also includes a storage-dependent baseline: 3,000 below 1,000 GB and 3 IOPS/GB above 1,000 GB. (low confidence) (verified as of 2026-10-14) — [source](https://www.mongodb.com/docs/atlas/customize-storage.md)

## Problems, failure modes and limitations

- EC2 bounds EBS performance by the smaller of the instance limit and aggregate attached-volume performance. Provisioning more volume IOPS than the instance can deliver wastes that extra provisioned capacity; MongoDB explicitly warns of this when discussing combined volumes. (high confidence) — [source](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html)
- Disk and host I/O limits both matter: AWS documents interdependent IOPS and throughput limits, while Azure gives VM and disk limits separately. Increasing disk IOPS alone cannot overcome a lower host limit; the binding limit must be identified before selecting a larger disk or VM. (high confidence) — [source](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html)
- AWS bounds instance EBS performance by the smaller of the instance limits and aggregate attached-volume performance. I/O size can cause throughput to bind before IOPS. Inference for cost planning: paying for additional disk IOPS cannot resolve an already binding instance limit. (high confidence) (verified as of 2026-10-30) — [source](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html)

## Comparisons and alternatives

- The Gen1/Gen2 standard-IOPS comparison applies to Atlas Core storage configuration. Atlas Infinite M30+ uses Gen2 but does not support Extended Standard IOPS; its storage IOPS and throughput are fixed by tier rather than growing with stored data. (low confidence) (verified as of 2026-10-30) — [source](https://www.mongodb.com/docs/atlas/manage-clusters.md)

## Facts and statements

- Atlas Core Gen1 couples storage and Standard IOPS expansion; Gen2 permits independent expansion and separate billing. Gen2 can avoid buying extra storage solely to obtain additional Standard IOPS, although the generation, IOPS type, and configured rate still affect cost. (high confidence) (verified as of 2026-10-30) — [source](https://www.mongodb.com/docs/atlas/manage-clusters.md)
- The advertised maximum standard IOPS rises from 16,000 to 80,000 on AWS and from 100,000 to 160,000 on Google Cloud between Gen1 and Gen2. These are configuration-dependent ceilings: actual maximum IOPS also depends on cluster tier and disk size. (high confidence) (verified as of 2026-10-30) — [source](https://www.mongodb.com/docs/atlas/manage-clusters.md)
- For AWS Gen1 M30+ Standard storage, Atlas documents a 3,000-IOPS floor, then 3 IOPS per GB at storage sizes of at least 1 TB, capped at 16,000. Increasing storage below that threshold does not increase this Standard IOPS setting. (low confidence) (verified as of 2026-10-14) — [source](https://www.mongodb.com/docs/atlas/customize-storage.md)
- Gen1 Provision IOPS and Gen2 High Performance IOPS are names for the same AWS provisioned-IOPS storage concept. Gen2 Standard uses general-purpose SSD storage; matching its IOPS number to High Performance does not establish equivalent latency or consistency. (high confidence) (verified as of 2026-10-14) — [source](https://www.mongodb.com/docs/atlas/customize-storage.md)
- Terraform identifies AWS STANDARD storage as gp3 and PROVISIONED/HIGH_PERFORMANCE storage as io2. It accepts Gen2 STANDARD disk_iops from 3,000 to 80,000. Google Cloud Gen2 uses Hyperdisk Balanced, with a minimum of max(3,000, 3 times disk_size_gb) and a maximum of min(500 times disk_size_gb, instance maximum), capped at 160,000. (low confidence) (verified as of 2026-10-30) — [source](https://raw.githubusercontent.com/mongodb/terraform-provider-mongodbatlas/master/docs/resources/advanced_cluster.md)
- Azure illustrates VM capping with a Standard_D8s_v3 limited to 12,800 uncached IOPS despite three P30 disks offering 15,000 combined IOPS. This is a cloud-platform example, not an Atlas tier-to-VM mapping. (low confidence) (verified as of 2026-10-30) — [source](https://learn.microsoft.com/en-us/azure/virtual-machines/disks-performance)
- Gen2 is offered for M30+ on AWS and Google Cloud, with region restrictions; Azure has no Gen2 option. Terraform separately allows Azure Extended IOPS only on eligible M40+ non-NVMe configurations in supported regions. (high confidence) (verified as of 2026-10-30) — [source](https://www.mongodb.com/docs/atlas/manage-clusters.md)
- A Gen1-to-Gen2 switch preserves the configured IOPS rate and AWS IOPS type: Provision IOPS becomes High Performance, and Standard remains Standard. Atlas recommends changing generation and IOPS type separately and validating performance between changes. (low confidence) (verified as of 2026-10-14) — [source](https://www.mongodb.com/docs/atlas/reference/faq/storage.md)
- For Atlas Core, Gen1 standard IOPS and storage capacity scale together; Gen2 allows independent scaling. Gen2 is offered for M30+ on AWS and Google Cloud, and is unavailable on Azure. (high confidence) (verified as of 2026-10-30) — [source](https://www.mongodb.com/docs/atlas/manage-clusters.md)
- Gen2 storage charges include baseline IOPS; Atlas separately charges for Extended Standard IOPS above that baseline. Independent provisioning can avoid capacity purchases solely to increase standard IOPS, but extra performance still carries a charge. (high confidence) (verified as of 2026-10-14) — [source](https://www.mongodb.com/docs/atlas/billing/cluster-configuration-costs.md)
- On AWS, the available Gen1 provisioned-IOPS range changes with disk capacity, whereas the available Gen2 High Performance IOPS range is independent of disk capacity. High Performance IOPS requires an M30+ AWS cluster. (low confidence) (verified as of 2026-10-14) — [source](https://www.mongodb.com/docs/atlas/customize-storage.md)
- Changing from Gen1 to Gen2 preserves the existing IOPS rate and, on AWS, the corresponding IOPS class. Retained IOPS can exceed the baseline included in Gen2 storage charges; estimate the generation and IOPS changes separately in the Atlas cluster builder. (high confidence) (verified as of 2026-10-14) — [source](https://www.mongodb.com/docs/atlas/reference/faq/storage.md)
- Azure VMs and managed disks have separate IOPS and throughput limits. Microsoft illustrates a VM capped at 12,800 uncached IOPS despite three disks offering 15,000 combined. Cache-hit reads use a separate cached allowance; cache misses can consume both cached and uncached allowances. These Azure examples do not establish Atlas tier-to-VM mappings. (low confidence) (verified as of 2026-09-16) — [source](https://learn.microsoft.com/en-us/azure/virtual-machines/disks-performance)
