Persistent Disk performance overview (original) (raw)
Discover
Get started
Create instances
Create multiple VMs
- Create a managed instance group (MIG)
* Basic scenarios for creating MIGs
* Create a MIG in a single zone
* Create a MIG in multiple zones in a region
* Create a MIG with multiple machine types
* Create a MIG from an existing VM
* Create a MIG with autoscaling
* Create a MIG with Flex-start VMs
* Create a MIG with Spot VMs
* Create a MIG that adds GPU VMs all at once
* Create a MIG with stateful configuration
- Create a managed instance group (MIG)
Create sole-tenant VMs
Migrate VMs
Connect to VMs
Connect to a VM
- About SSH connections
- Linux VMs
* Connect to VMs
* SSH-in-browser
* Connect as the root user
* Connect using service accounts
* Configure apps to use SSH - Windows VMs
* Connect to Windows VMs using RDP
* Connect to a Windows VM's SAC
* Connect to Windows VMs using SSH
* Connect to Windows VMs using PowerShell
Manage access to VMs
Manage storage
Add disks to VMs
Make disks highly available
Back up and restore
Manage VMs
Basic operations and lifecycle
- VM instance lifecycle
- View VM properties
* Check that a VM is running
* View a list of VMs
* View the details of a VM
* View the UUID of a VM
* View the topology of a VM
* View the source image of a VM
* View referrers to VMs
* View network configuration of a VM
* View the number of visible CPU cores in a VM
Manage multiple VMs
- Manage groups of VMs
* Work with managed VMs in a MIG
* View info about MIGs and managed instances
* Add or remove VMs in a MIG
* Limit the run time of VMs in a MIG
* Add instances all at once in a MIG
* Overview
* Delete a MIG
- Manage groups of VMs
Host maintenance events
Securing VMs
Manage operating systems
Manage OS images
Manage licenses
Manage VM extensions
Deploy workloads
Applications
Databases
- MySQL
* MySQL on Compute Engine
* Install MySQL on Compute Engine
* Configure MySQL on Compute Engine
* Set up client access with a private IP address
* Cloning a MySQL database on Compute Engine
* Architectures for high availability of MySQL clusters on Compute Engine
* Deploying a highly available MySQL 5.6 cluster with DRBD on Compute Engine - SQL Server
* Best practices for SQL Server VMs
* Create
* Create a high-performance SQL Server VM
* Add a SQL Server license to an existing Linux server
* Add a SQL Server license to an existing Windows server
* Configure
* Set up AlwaysOn availability groups using an internal load balancer
* Set up AlwaysOn availability groups using a distributed network name
* Set up a failover cluster VM that uses S2D
* Set up a failover cluster VM with multi-writer disks
* Set up a SQL Server cluster on Linux with Always On availability groups and Pacemaker
* Migrate
* Migrate a SQL Server database from AWS EC2 to Compute Engine
* Migrate a SQL Server database from Windows to Linux
* Disaster recovery
* Disaster recovery for Microsoft SQL Server
* Disaster recovery for Microsoft SQL server on Persistent disk
* Disaster recovery for Microsoft SQL server on Hyperdisk
* Deploying Microsoft SQL Server for multi-regional disaster recovery
* Back up SQL Server databases to a Google Cloud Storage bucket
* Back up SQL Server databases using instant snapshots
* Cloning a Microsoft SQL Server database on Compute Engine
* Load test SQL Server using HammerDB
- MySQL
Containers
- Containers on Compute Engine
- Deploy containers on VMs and managed instance groups
- Configure options to run your container
- OpenShift workloads
* OpenShift on Google Cloud overview
* Plan for OpenShift on Google Cloud
* Overview of Cluster Services for OpenShift
* Built-in integrations for OpenShift
* Best practices for high availability with OpenShift
* Disaster recovery for OpenShift on Google Cloud
* Disaster recovery strategies for active-passive and active-inactive setups with OpenShift
Microsoft Windows
Monitor
Monitor logs
Scale
Load balancing
Optimize
Network performance
Troubleshoot
Persistent Disk performance overview
This page discusses the many factors that determine the performance of the Persistent Disk volumes and lists the maximum performance limits for Persistent Disk.
For a discussion of Google Cloud Hyperdisk performance, seeAbout performance for Hyperdisk. For Google Cloud Hyperdisk performance limits, seeHyperdisk performance limits.
Before you begin, consider the following:
- Persistent Disk are networked storage and generally have higher latency compared to physical disks or Local SSDs. To reach the maximum performance limits of the Persistent Disk, you must issue enough I/O requests in parallel. To check if you're using a high enough queue depth to reach your required performance levels, seeI/O queue depth.
- Make sure that your application is issuing enough I/O requests to saturate the disk. Disk saturation occurs when the CPU time during I/O requests issued to the device is very high.
- For workloads that primarily involve small (from 4 KB to 16 KB) random I/O requests, the limiting performance factor is I/O requests per second (IOPS).
- For workloads that primarily involve sequential or large (256 KB to 1 MB) random I/O requests, the limiting performance factor is throughput.
Choose a Persistent Disk type
When you create a Persistent Disk volume, you can select one of the following disk types:
- Balanced Persistent Disk (
pd-balanced)- An alternative to SSD (Performance) Persistent Disk.
- Balance of performance and cost. For most Compute Engine machine types, these disks have the same maximum IOPS as SSD Persistent Disk and lower IOPS per GiB. This disk type offers performance levels suitable for most general-purpose applications at a price point between that of standard and SSD Persistent Disk.
- Uses solid-state drives (SSD).
- SSD (Performance) Persistent Disk (
pd-ssd)- Suitable for enterprise applications and high-performance databases that require lower latency and more IOPS than standard Persistent Disk provides.
- Uses solid-state drives (SSD).
- Standard Persistent Disk (
pd-standard)- Suitable for large data processing workloads that primarily use sequential I/Os.
- Uses standard hard disk drives (HDD).
- Extreme Persistent Disk (
pd-extreme)- Offers consistently high performance for both random access workloads and bulk throughput.
- Designed for high-end database workloads.
- Lets you provision the target IOPS.
- Uses solid-state drives (SSD).
- Available with a limited number ofmachine types.
If you create a disk in the Google Cloud console, the default disk type ispd-balanced. If you create a disk using the gcloud CLI or the Compute Engine API, the default disk type is pd-standard.
Each storage option has unique performance limits that depend on themachine type and number of vCPUs in use.
Performance limits for Persistent Disk
Persistent Disk have limits for the maximum IOPS and throughput that they can sustain. There are throughput and IOPS limits per GiB and per instance.
For Balanced and SSD (performance) Persistent Disk volumes, the read and write throughput limits are independent of each other. This means that a disk can reach both the stated read and write limits simultaneously. Balanced Persistent Disk and SSD Persistent Disk also offerbaseline performancefor sustained IOPS and throughput.
Balanced Persistent Disk, SSD Persistent Disk, and Extreme Persistent Disk are designed for sub-millisecond latencies.Factors that affect performanceinclude machine type, disk size, instance vCPU count, and I/O block size.
This page details the performance limits forzonal Persistent Disk andregional Persistent Disk.
Zonal Persistent Disk
This section shows IOPS and throughput limits for zonal Persistent Disk.
Zonal Persistent Disk performance depends on the disk size, machine type, and vCPU count. To see the performance limits for your specific configuration, seePerformance by machine type and vCPU count for zonal Persistent Disk.
IOPS limits for zonal Persistent Disk
The following table shows IOPS limits for zonal Persistent Disk.
| ZonalStandardPD | ZonalBalancedPD | ZonalSSD PD | ZonalExtreme PD | Zonal SSD PD inmulti-writer mode | |
|---|---|---|---|---|---|
| Read IOPS per GiB | 0.75 | 6 | 30 | – | 30 |
| Write IOPS per GiB | 1.5 | 6 | 30 | – | 30 |
| Read IOPS per instance | 7,500 | 80,000 | 100,000 | 120,000 | 100,000 |
| Write IOPS per instance | 15,000 | 80,000 | 100,000 | 120,000 | 100,000 |
Throughput limits for zonal Persistent Disk
The following table shows throughput limits for zonal Persistent Disk. Persistent Disk can achieve greater performance on instances with more vCPUs. For more information, readNetwork egress caps on write throughput.
| ZonalStandardPD | ZonalBalancedPD | ZonalSSD PD | ZonalExtreme PD | Zonal SSD PD inmulti-writer mode | |
|---|---|---|---|---|---|
| Throughput per GiB (MiBps) | 0.12 | 0.28 | 0.48 | — | 0.48 |
| Read throughput per instance (MiBps) | 1,200 | 1,200 | 1,200 | 4,000* | 1,200 |
| Write throughput per instance (MiBps) | 400 | 1,200 | 1,200 | 3,000* | 1,200 |
* Requires anN2 instance with at least 64 vCPUs to achieve the stated performance limit. For maximum limits for all other machine types, seePerformance by machine type and vCPU count.
Regional Persistent Disk
Like zonal Persistent Disk, regional Persistent Disk can achieve greater performance when you modifyfactors that can affect performance, like disk size and number of vCPUs.
The following tables show IOPS and throughput limits for regional Persistent Disk. These conditions apply to the stated limits:
- Achieving the stated limits requires a compute instance with at least 64 vCPUs and an N2 machine type or an N1 machine type running on the Intel Skylake or newer CPU. Instances using other machine types, such as N2D, have lower performance limits.
- Instances using E2machine types have lower performance limits because E2 machine types support a maximum of 32 vCPUs.
- Read IOPS per instance and read throughput per instance might be lower when the disk is inunreplicated mode.
IOPS limits for regional Persistent Disk
The following table shows IOPS limits for regional Persistent Disk.
| RegionalStandardPD | RegionalBalancedPD | RegionalSSD PD | |
|---|---|---|---|
| Read IOPS per GiB | 0.75 | 6 | 30 |
| Write IOPS per GiB | 1.5 | 6 | 30 |
| Read IOPS per instance | 7,500 | 80,000* | 100,000# |
| Write IOPS per instance | 15,000 | 60,000† | 80,000‡ |
* For N2D, the maximum read IOPS per instance for balanced Persistent Disk is 60,000.
For N2D, the maximum read IOPS per instance for SSD Persistent Disk is 70,000.
† For N2D, the maximum write IOPS per instance for balanced Persistent Disk is 50,000.
‡ For N2D, the maximum write IOPS per instance for SSD Persistent Disk is 60,000.
Throughput limits for regional Persistent Disk
The following table shows the throughput limits for regional Persistent Disk.
| RegionalStandardPD | RegionalBalancedPD | RegionalSSD PD | |
|---|---|---|---|
| Throughput per GiB (MiBps) | 0.12 | 0.28 | 0.48 |
| Read throughput per instance (MiBps) | 1,200 | 1,200 | 1,200 |
| Write throughput per instance (MiBps) | 200 | 600 | 1000‡ |
‡ For N2D, the maximum write throughput per instance for SSD Persistent Disk is 600 MiBps.
Sharing disks between instances
Attaching a disk to multiple instances in read-only modemode or in multi-writer mode does not affect aggregate performance or cost. Each machine gets a share of the per-disk performance limit. Persistent Disk created in multi-writer mode have specific IOPS and throughput limits. To learn how to share Persistent Disk between multiple instances, seeSharing Persistent Disk between instances.
Persistent Disk I/O operations share a common path with network traffic within a instance's hypervisor. Therefore, if the instance has significant network traffic, the actual read bandwidth and IOPS consistency might be less than the listed maximum limits. Some variability in the performance limits is to be expected, especially when operating near the maximum IOPS limits with an I/O size of 16 KB. For a summary of bandwidth expectations, seeBandwidth summary table.
Baseline performance
The following Persistent Disk types offer baseline IOPS and throughput performance in addition to sustained per GiB performance limits:
- Balanced Persistent Disk
- SSD Persistent Disk
Baseline performance is the same for all disk sizes and doesn't scale based on the number of disks of the same type that are attached to an instance. For example, if you have two zonal balanced Persistent Disk attached to an instance, they share a baseline performance of 3,000 IOPS.
To calculate the maximum expected performance of a Persistent Disk type, add the disk type's baseline performance to the per GiB performance limit for the disk type multiplied by the combined size (in GiB) of all disks of the same type that are attached to the instance:
Maximum expected performance = Baseline performance + (Per GiB performance limit * Combined disk size in GiB).
For example, the maximum IOPS of two 1000 GiB zonal balanced Persistent Disk attached to the same instance is 15,000, which is calculated as follows:
3,000 baseline performance + (6 IOPS performance limit per GiB * 2000 GiB combined disk size) = 15,000 IOPS
The following table shows the baseline performance for balanced and SSD Persistent Disk.
Zonal Persistent Disk
The following table shows the baseline sustained IOPS and throughput for zonal Persistent Disk:
| ZonalbalancedPD | ZonalSSD PD | |
|---|---|---|
| Baseline IOPS per instance | 3,000 | 6,000 |
| Baseline Throughput (MiBps) per instance | 140 | 240 |
Regional Persistent Disk
Regional Persistent Disk are supported on only E2, N1, N2, and N2D instances. The following table shows the baseline sustained IOPS and throughput for regional Persistent Disk:
| RegionalbalancedPD | RegionalSSD PD | |
|---|---|---|
| Baseline IOPS per instance | 3,000 | 6,000 |
| Baseline Throughput (MiBps) per instance | 140 | 240 |
Configure your Persistent Disk and instances
Persistent Disk performance scales with the size of the disk and with the number of vCPUs on your instance.
Performance scales until it reaches either the limits of the disk or the limits of the instance to which the disk is attached. Themachine type and the number of vCPUs on the instancedetermine the per-instance limits.
The following tables show performance limits for zonal Persistent Disk.
Performance by machine type and vCPU count for zonal Persistent Disk
The following tables show how zonal Persistent Disk performance varies according to the machine type and number of vCPUs on the instance to which the disk is attached. For Balanced and SSD Persistent Disk volumes, the read and write throughput limits are independent of each other.
A2 Ultra instances
pd-balanced
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| a2-ultragpu-1g | 15,000 | 15,000 | 800 | 800 |
| a2-ultragpu-2g | 20,000 | 20,000 | 1,200 | 1,200 |
| a2-ultragpu-4g | 50,000 | 50,000 | 1,200 | 1,200 |
| a2-ultragpu-8g | 80,000 | 80,000 | 1,200 | 1,200 |
pd-ssd
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| a2-ultragpu-1g | 15,000 | 15,000 | 800 | 800 |
| a2-ultragpu-2g | 25,000 | 25,000 | 1,200 | 1,200 |
| a2-ultragpu-4g | 60,000 | 60,000 | 1,200 | 1,200 |
| a2-ultragpu-8g | 100,000 | 100,000 | 1,200 | 1,200 |
pd-standard
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| a2-ultragpu-1g | 15,000 | 5,000 | 400 | 800 |
| a2-ultragpu-2g | 15,000 | 7,500 | 400 | 1,200 |
| a2-ultragpu-4g | 15,000 | 7,500 | 400 | 1,200 |
| a2-ultragpu-8g | 15,000 | 7,500 | 400 | 1,200 |
A2 Standard instances
pd-balanced
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| a2-highgpu-1g | 15,000 | 15,000 | 800 | 800 |
| a2-highgpu-2g | 20,000 | 20,000 | 1,200 | 1,200 |
| a2-highgpu-4g | 50,000 | 50,000 | 1,200 | 1,200 |
| a2-highgpu-8g | 80,000 | 80,000 | 1,200 | 1,200 |
| a2-megagpu-16g | 80,000 | 80,000 | 1,200 | 1,200 |
pd-ssd
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| a2-highgpu-1g | 15,000 | 15,000 | 800 | 800 |
| a2-highgpu-2g | 25,000 | 25,000 | 1,200 | 1,200 |
| a2-highgpu-4g | 60,000 | 60,000 | 1,200 | 1,200 |
| a2-highgpu-8g | 100,000 | 100,000 | 1,200 | 1,200 |
| a2-megagpu-16g | 100,000 | 100,000 | 1,200 | 1,200 |
pd-standard
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| a2-highgpu-1g | 15,000 | 5,000 | 400 | 800 |
| a2-highgpu-2g | 15,000 | 7,500 | 400 | 1,200 |
| a2-highgpu-4g | 15,000 | 7,500 | 400 | 1,200 |
| a2-highgpu-8g | 15,000 | 7,500 | 400 | 1,200 |
| a2-megagpu-16g | 15,000 | 7,500 | 400 | 1,200 |
A3 Mega instances
pd-balanced
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MB/s) | Maximum read throughput (MB/s) |
|---|---|---|---|---|
| a3-megagpu-8g | 80,000 | 80,000 | 1,200 | 1,200 |
pd-ssd
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MB/s) | Maximum read throughput (MB/s) |
|---|---|---|---|---|
| a3-megagpu-8g | 80,000 | 80,000 | 1,200 | 1,200 |
A3 High instances
pd-balanced
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MB/s) | Maximum read throughput (MB/s) |
|---|---|---|---|---|
| a3-highgpu-1g | 15,000 | 15,000 | 1,200 | 1,200 |
| a3-highgpu-2g | 30,000 | 30,000 | 1,200 | 1,200 |
| a3-highgpu-4g | 60,000 | 60,000 | 1,200 | 1,200 |
| a3-highgpu-8g | 80,000 | 80,000 | 1,200 | 1,200 |
pd-ssd
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MB/s) | Maximum read throughput (MB/s) |
|---|---|---|---|---|
| a3-highgpu-1g | 15,000 | 15,000 | 1,200 | 1,200 |
| a3-highgpu-2g | 30,000 | 30,000 | 1,200 | 1,200 |
| a3-highgpu-4g | 60,000 | 60,000 | 1,200 | 1,200 |
| a3-highgpu-8g | 80,000 | 80,000 | 1,200 | 1,200 |
A3 Edge instances
pd-balanced
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MB/s) | Maximum read throughput (MB/s) |
|---|---|---|---|---|
| a3-edgegpu-8g | 80,000 | 80,000 | 1,200 | 1,200 |
pd-ssd
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MB/s) | Maximum read throughput (MB/s) |
|---|---|---|---|---|
| a3-edgegpu-8g | 80,000 | 80,000 | 1,200 | 1,200 |
C2 instances
pd-balanced
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 4 | 4,000 | 4,000 | 240 | 240 |
| 8 | 4,000 | 4,000 | 240 | 240 |
| 16 | 4,000 | 8,000 | 480 | 600 |
| 30 | 8,000 | 15,000 | 480 | 600 |
| 60 | 15,000 | 15,000 | 800 | 1,200 |
pd-ssd
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 4 | 4,000 | 4,000 | 240 | 240 |
| 8 | 4,000 | 4,000 | 240 | 240 |
| 16 | 4,000 | 8,000 | 480 | 600 |
| 30 | 8,000 | 15,000 | 480 | 600 |
| 60 | 15,000 | 30,000 | 800 | 1,200 |
pd-standard
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 4 | 4,000 | 3,000 | 240 | 240 |
| 8 | 4,000 | 3,000 | 240 | 240 |
| 16 | 4,000 | 3,000 | 240 | 240 |
| 30 | 8,000 | 3,000 | 240 | 240 |
| 60 | 15,000 | 3,000 | 240 | 240 |
C2D Instances
pd-balanced
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 2 | 4,590 | 4,080 | 245 | 245 |
| 4 | 4,590 | 4,080 | 245 | 245 |
| 8 | 4,590 | 4,080 | 245 | 245 |
| 16 | 4,590 | 8,160 | 245 | 326 |
| 32 | 8,160 | 15,300 | 245 | 612 |
| 56 | 8,160 | 15,300 | 245 | 612 |
| 112 | 15,300 | 30,600 | 408 | 1,224 |
pd-ssd
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 2 | 4,590 | 4,080 | 245 | 245 |
| 4 | 4,590 | 4,080 | 245 | 245 |
| 8 | 4,590 | 4,080 | 245 | 245 |
| 16 | 4,590 | 8,160 | 245 | 326 |
| 32 | 8,160 | 15,300 | 245 | 612 |
| 56 | 8,160 | 15,300 | 245 | 612 |
| 112 | 15,300 | 30,600 | 408 | 1,224 |
pd-standard
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 2 | 4,590 | 3,060 | 245 | 245 |
| 4 | 4,590 | 3,060 | 245 | 245 |
| 8 | 4,590 | 3,060 | 245 | 245 |
| 16 | 4,590 | 3,060 | 245 | 245 |
| 32 | 8,160 | 3,060 | 245 | 245 |
| 56 | 8,160 | 3,060 | 245 | 245 |
| 112 | 15,300 | 3,060 | 245 | 245 |
C3D Instances
pd-balanced
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 4 | 15,000 | 15,000 | 240 | 240 |
| 8 | 25,000 | 25,000 | 800 | 800 |
| 16 | 25,000 | 25,000 | 1,200 | 1,200 |
| 30 | 50,000 | 50,000 | 1,200 | 1,200 |
| 60 | 80,000 | 80,000 | 1,200 | 1,200 |
| 90 | 80,000 | 80,000 | 1,200 | 1,200 |
| 180 | 80,000 | 80,000 | 1,200 | 1,200 |
| 360 | 80,000 | 80,000 | 1,200 | 1,200 |
pd-ssd
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 4 | 15,000 | 15,000 | 240 | 240 |
| 8 | 15,000 | 15,000 | 800 | 800 |
| 16 | 25,000 | 25,000 | 1,200 | 1,200 |
| 30 | 60,000 | 60,000 | 1,200 | 1,200 |
| 60 | 80,000 | 80,000 | 1,200 | 1,200 |
| 90 | 80,000 | 80,000 | 1,200 | 1,200 |
| 180 | 80,000 | 80,000 | 1,200 | 1,200 |
| 360 | 80,000 | 80,000 | 1,200 | 1,200 |
C3 Instances
pd-balanced
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 4 | 15,000 | 15,000 | 240 | 240 |
| 8 | 15,000 | 15,000 | 240 | 240 |
| 22 | 20,000 | 20,000 | 800 | 800 |
| 44 | 50,000 | 50,000 | 1,200 | 1,200 |
| 88 | 80,000 | 80,000 | 1,200 | 1,200 |
| 176 | 80,000 | 80,000 | 1,200 | 1,200 |
pd-ssd
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 4 | 15,000 | 15,000 | 240 | 240 |
| 8 | 15,000 | 15,000 | 240 | 240 |
| 22 | 25,000 | 25,000 | 800 | 800 |
| 44 | 60,000 | 60,000 | 1,200 | 1,200 |
| 88 | 80,000 | 80,000 | 1,200 | 1,200 |
| 176 | 80,000 | 80,000 | 1,200 | 1,200 |
E2 Instances
pd-balanced
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| e2-medium* | 10,000 | 12,000 | 200 | 200 |
| 2-7 | 15,000 | 15,000 | 240 | 240 |
| 8-15 | 15,000 | 15,000 | 800 | 800 |
| 16-31 | 20,000 | 20,000 | 1,000 | 1,200 |
| 32 or more | 50,000 | 50,000 | 1,000 | 1,200 |
* E2 shared-coremachine types run two vCPUs simultaneously shared on one physical core for a specific fraction of time.
pd-ssd
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| e2-medium* | 10,000 | 12,000 | 200 | 200 |
| 2-7 | 15,000 | 15,000 | 240 | 240 |
| 8-15 | 15,000 | 15,000 | 800 | 800 |
| 16-31 | 25,000 | 25,000 | 1,000 | 1,200 |
| 32 or more | 60,000 | 60,000 | 1,000 | 1,200 |
* E2 shared-coremachine types run two vCPUs simultaneously shared on one physical core for a specific fraction of time.
pd-standard
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| e2-medium* | 10,000 | 1,000 | 200 | 200 |
| 2-7 | 15,000 | 3,000 | 240 | 240 |
| 8-15 | 15,000 | 5,000 | 400 | 800 |
| 16 or more | 15,000 | 7,500 | 400 | 1,200 |
* E2 shared-coremachine types run two vCPUs simultaneously shared on one physical core for a specific fraction of time.
G2 Instances
pd-balanced
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| g2-standard-4 | 15,000 | 15,000 | 240 | 240 |
| g2-standard-8 | 15,000 | 15,000 | 800 | 800 |
| g2-standard-12 | 15,000 | 15,000 | 800 | 800 |
| g2-standard-16 | 20,000 | 20,000 | 1,200 | 1,200 |
| g2-standard-24 | 20,000 | 20,000 | 1,200 | 1,200 |
| g2-standard-32 | 50,000 | 50,000 | 1,200 | 1,200 |
| g2-standard-48 | 50,000 | 50,000 | 1,200 | 1,200 |
| g2-standard-96 | 80,000 | 80,000 | 1,200 | 1,200 |
pd-ssd
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| g2-standard-4 | 15,000 | 15,000 | 240 | 240 |
| g2-standard-8 | 15,000 | 15,000 | 800 | 800 |
| g2-standard-12 | 15,000 | 15,000 | 800 | 800 |
| g2-standard-16 | 25,000 | 25,000 | 1,200 | 1,200 |
| g2-standard-24 | 25,000 | 25,000 | 1,200 | 1,200 |
| g2-standard-32 | 60,000 | 60,000 | 1,200 | 1,200 |
| g2-standard-48 | 60,000 | 60,000 | 1,200 | 1,200 |
| g2-standard-96 | 100,000 | 100,000 | 1,200 | 1,200 |
H3 Instances
pd-balanced
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 88 | 15,000 | 15,000 | 240 | 240 |
N1 Instances
pd-balanced
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 1 | 15,000 | 15,000 | 204 | 240 |
| 2-7 | 15,000 | 15,000 | 240 | 240 |
| 8-15 | 15,000 | 15,000 | 800 | 800 |
| 16-31 | 20,000 | 20,000 | 1,200 | 1,200 |
| 32-63 | 50,000 | 50,000 | 1,200 | 1,200 |
| 64 or more | 80,000 | 80,000 | 1,200 | 1,200 |
pd-ssd
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 1 | 15,000 | 15,000 | 204 | 240 |
| 2-7 | 15,000 | 15,000 | 240 | 240 |
| 8-15 | 15,000 | 15,000 | 800 | 800 |
| 16-31 | 25,000 | 25,000 | 1,200 | 1,200 |
| 32-63 | 60,000 | 60,000 | 1,200 | 1,200 |
| 64 or more | 100,000 | 100,000 | 1,200 | 1,200 |
pd-standard
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 1 | 15,000 | Up to 3,000 | 204 | 240 |
| 2-7 | 15,000 | 3,000 | 240 | 240 |
| 8-15 | 15,000 | 5,000 | 400 | 800 |
| 16 or more | 15,000 | 7,500 | 400 | 1,200 |
N2 Instances
pd-balanced
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 2-7 | 15,000 | 15,000 | 240 | 240 |
| 8-15 | 15,000 | 15,000 | 800 | 800 |
| 16-31 | 20,000 | 20,000 | 1,200 | 1,200 |
| 32-63 | 50,000 | 50,000 | 1,200 | 1,200 |
| 64 or more | 80,000 | 80,000 | 1,200 | 1,200 |
pd-ssd
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 2-7 | 15,000 | 15,000 | 240 | 240 |
| 8-15 | 15,000 | 15,000 | 800 | 800 |
| 16-31 | 25,000 | 25,000 | 1,200 | 1,200 |
| 32-63 | 60,000 | 60,000 | 1,200 | 1,200 |
| 64 or more | 100,000 | 100,000 | 1,200 | 1,200 |
pd-standard
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 2-7 | 15,000 | 3,000 | 240 | 240 |
| 8-15 | 15,000 | 5,000 | 400 | 800 |
| 16 or more | 15,000 | 7,500 | 400 | 1,200 |
pd-extreme
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| n2-standard-64 | 120,000 | 120,000 | 3,000 | 4,000 |
| n2-standard-80 | 120,000 | 120,000 | 3,000 | 4,000 |
| n2-standard-96 | 120,000 | 120,000 | 3,000 | 4,000 |
| n2-standard-128 | 120,000 | 120,000 | 3,000 | 4,000 |
| n2-highmem-64 | 120,000 | 120,000 | 3,000 | 4,000 |
| n2-highmem-80 | 120,000 | 120,000 | 3,000 | 4,000 |
| n2-highmem-96 | 120,000 | 120,000 | 3,000 | 4,000 |
| n2-highmem-128 | 120,000 | 120,000 | 3,000 | 4,000 |
| n2-highcpu-64 | 120,000 | 120,000 | 3,000 | 4,000 |
| n2-highcpu-80 | 120,000 | 120,000 | 3,000 | 4,000 |
| n2-highcpu-96 | 120,000 | 120,000 | 3,000 | 4,000 |
N2 Instances with 96 or more vCPUs require the Intel Ice Lake CPU platform.
N2D Instances
pd-balanced
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 2-7 | 15,000 | 15,000 | 240 | 240 |
| 8-15 | 15,000 | 15,000 | 800 | 800 |
| 16-31 | 20,000 | 20,000 | 1,200 | 1,200 |
| 32-63 | 50,000 | 50,000 | 1,200 | 1,200 |
| 64 or more | Up to 80,000 | Up to 80,000 | 1,200 | 1,200 |
pd-ssd
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 2-7 | 15,000 | 15,000 | 240 | 240 |
| 8-15 | 15,000 | 15,000 | 800 | 800 |
| 16-31 | 25,000 | 25,000 | 1,200 | 1,200 |
| 32-63 | 60,000 | 60,000 | 1,200 | 1,200 |
| 64 or more | Up to 100,000 | Up to 100,000 | 1,200 | 1,200 |
pd-standard
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 2-7 | 15,000 | 3,000 | 240 | 240 |
| 8-15 | 15,000 | 5,000 | 400 | 800 |
| 16 or more | 15,000 | 7,500 | 400 | 1,200 |
M1 Instances
pd-balanced
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| m1-megamem-96 | 80,000 | 80,000 | 1,200 | 1,200 |
| m1-ultramem-40 | 60,000 | 60,000 | 1,200 | 1,200 |
| m1-ultramem-80 | 70,000 | 70,000 | 1,200 | 1,200 |
| m1-ultramem-160 | 70,000 | 70,000 | 1,200 | 1,200 |
pd-ssd
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| m1-megamem-96 | 100,000 | 100,000 | 1,200 | 1,200 |
| m1-ultramem-40 | 60,000 | 60,000 | 1,200 | 1,200 |
| m1-ultramem-80 | 70,000 | 70,000 | 1,200 | 1,200 |
| m1-ultramem-160 | 70,000 | 70,000 | 1,200 | 1,200 |
pd-standard
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| m1-megamem-96 | 15,000 | 7,500 | 400 | 1,200 |
| m1-ultramem-40 | 15,000 | 7,500 | 400 | 1,200 |
| m1-ultramem-80 | 15,000 | 7,500 | 400 | 1,200 |
| m1-ultramem-160 | 15,000 | 7,500 | 400 | 1,200 |
pd-extreme
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| m1-megamem-96 | 90,000 | 90,000 | 2,200 | 2,200 |
M2 Instances
pd-balanced
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| m2-megamem-416 | 40,000 | 40,000 | 1,200 | 1,200 |
| m2-ultramem-208 | 40,000 | 40,000 | 1,200 | 1,200 |
| m2-ultramem-416 | 40,000 | 40,000 | 1,200 | 1,200 |
| m2-hypermem-416 | 40,000 | 40,000 | 1,200 | 1,200 |
pd-ssd
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| m2-megamem-416 | 40,000 | 40,000 | 1,200 | 1,200 |
| m2-ultramem-208 | 40,000 | 40,000 | 1,200 | 1,200 |
| m2-ultramem-416 | 40,000 | 40,000 | 1,200 | 1,200 |
| m2-hypermem-416 | 40,000 | 40,000 | 1,200 | 1,200 |
pd-standard
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| m2-megamem-416 | 15,000 | 7,500 | 400 | 1,200 |
| m2-ultramem-208 | 15,000 | 7,500 | 400 | 1,200 |
| m2-ultramem-416 | 15,000 | 7,500 | 400 | 1,200 |
| m2-hypermem-416 | 15,000 | 7,500 | 400 | 1,200 |
pd-extreme
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| m2-megamem-416 | 40,000 | 40,000 | 1,200 | 2,200 |
| m2-ultramem-208 | 40,000 | 40,000 | 1,200 | 2,200 |
| m2-ultramem-416 | 40,000 | 40,000 | 1,200 | 2,200 |
| m2-hypermem-416 | 40,000 | 40,000 | 1,200 | 2,200 |
M3 Instances
pd-balanced
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| m3-megamem-64 | 40,000 | 40,000 | 1,200 | 1,200 |
| m3-megamem-128 | 80,000 | 80,000 | 1,200 | 1,200 |
| m3-ultramem-32 | 40,000 | 40,000 | 1,200 | 1,200 |
| m3-ultramem-64 | 40,000 | 40,000 | 1,200 | 1,200 |
| m3-ultramem-128 | 80,000 | 80,000 | 1,200 | 1,200 |
pd-ssd
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| m3-megamem-64 | 40,000 | 40,000 | 1,200 | 1,200 |
| m3-megamem-128 | 80,000 | 80,000 | 1,200 | 1,200 |
| m3-ultramem-32 | 40,000 | 40,000 | 1,200 | 1,200 |
| m3-ultramem-64 | 40,000 | 40,000 | 1,200 | 1,200 |
| m3-ultramem-128 | 80,000 | 80,000 | 1,200 | 1,200 |
pd-extreme
| Machine type | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| m3-megamem-64 | 40,000 | 40,000 | 1,200 | 2,200 |
| m3-megamem-128 | 80,000 | 80,000 | 1,700 | 2,200 |
| m3-ultramem-32 | 40,000 | 40,000 | 1,200 | 2,200 |
| m3-ultramem-64 | 40,000 | 40,000 | 1,200 | 2,200 |
| m3-ultramem-128 | 80,000 | 80,000 | 1,700 | 2,200 |
T2D Instances
pd-balanced
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 1 | 15,000 | 15,000 | 204 | 240 |
| 2-7 | 15,000 | 15,000 | 240 | 240 |
| 8-15 | 15,000 | 15,000 | 800 | 800 |
| 16-31 | 20,000 | 20,000 | 1,200 | 1,200 |
| 32-60 | 50,000 | 50,000 | 1,200 | 1,200 |
pd-ssd
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 1 | 15,000 | 15,000 | 204 | 240 |
| 2-7 | 15,000 | 15,000 | 240 | 240 |
| 8-15 | 15,000 | 15,000 | 800 | 800 |
| 16-31 | 25,000 | 25,000 | 1,200 | 1,200 |
| 32-60 | 60,000 | 60,000 | 1,200 | 1,200 |
pd-standard
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 1 | 15,000 | 3,000 | 204 | 240 |
| 2-7 | 15,000 | 3,000 | 240 | 240 |
| 8-15 | 15,000 | 5,000 | 400 | 800 |
| 16 or more | 15,000 | 7,500 | 400 | 1,200 |
T2A Instances
pd-balanced
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 1 | 20,000 | 20,000 | 204 | 240 |
| 2-7 | 20,000 | 20,000 | 240 | 240 |
| 8-15 | 25,000 | 25,000 | 800 | 800 |
| 16-31 | 25,000 | 25,000 | 1,200 | 1,200 |
| 32-47 | 60,000 | 60,000 | 1,200 | 1,200 |
| 48 | 80,000 | 80,000 | 1,800 | 1,800 |
pd-ssd
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 1 | 20,000 | 20,000 | 204 | 240 |
| 2-7 | 20,000 | 20,000 | 240 | 240 |
| 8-15 | 25,000 | 25,000 | 800 | 800 |
| 16-31 | 25,000 | 25,000 | 1,200 | 1,200 |
| 32-47 | 60,000 | 60,000 | 1,200 | 1,200 |
| 48 | 80,000 | 80,000 | 1,800 | 1,800 |
pd-standard
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 1 | 15,000 | 1,000 | 204 | 240 |
| 2-3 | 15,000 | 2,400 | 240 | 240 |
| 4-7 | 15,000 | 3,000 | 240 | 240 |
| 8-15 | 15,000 | 5,000 | 400 | 800 |
| 16 or more | 15,000 | 7,500 | 400 | 1,200 |
TPU v5e instances
pd-balanced
| Machine type | Maximum IOPS(read/write) | Maximum throughput (read/write)(MiBps) |
|---|---|---|
| ct5lp-hightpu-1t | 20,000 | 1,200 |
| ct5lp-hightpu-4t | 80,000 | 1,200 |
| ct5lp-hightpu-8t | 80,000 | 1,200 |
TPU v5p instances
pd-balanced
| Machine type | Maximum IOPS(read/write) | Maximum throughput (read/write)(MiBps) |
|---|---|---|
| ct5p-hightpu-4t | 80,000 | 1,200 |
TPU v3 and TPU v4 instances
pd-balanced
| Machine type | Maximum IOPS(read/write) | Maximum throughput (read/write)(MiBps) |
|---|---|---|
| ct3-hightpu-4t | 80,000 | 1,200 |
| ct3p-hightpu-4t | 80,000 | 1,200 |
| ct4p-hightpu-4t | 80,000 | 1,200 |
Z3 Instances
pd-balanced
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 8 to 14 | 15,000 | 15,000 | 240 | 240 |
| 22 to 32 | 20,000 | 20,000 | 800 | 800 |
| 44 | 50,000 | 50,000 | 1,200 | 1,200 |
| 88 | 80,000 | 80,000 | 1,200 | 1,200 |
| 176 | 80,000 | 80,000 | 1,200 | 1,200 |
pd-ssd
| Number of vCPUs | Maximum write IOPS | Maximum read IOPS | Maximum write throughput (MiBps) | Maximum read throughput (MiBps) |
|---|---|---|---|---|
| 8 to 14 | 15,000 | 15,000 | 240 | 240 |
| 22 to 32 | 25,000 | 25,000 | 800 | 800 |
| 44 | 60,000 | 60,000 | 1,200 | 1,200 |
| 88 | 80,000 | 80,000 | 1,200 | 1,200 |
| 176 | 80,000 | 80,000 | 1,200 | 1,200 |
Example
Consider a 1,000 GiB zonal SSD Persistent Disk attached to an N2 instance with 4 vCPUs. The read limit based solely on the size of the disk is 36,000 IOPS (6,000 baseline IOPS + (30 IOPS per GiB * 1,000 GiB)). However, the instance has only 4 vCPUs so the read limit is restricted to 15,000 IOPS.
Review performance
You can review Persistent Disk performance metrics inCloud Monitoring, Google Cloud's integrated monitoring solution.
To learn more, seeReviewing Persistent Disk performance metrics.
Optimize disk performance
To increase disk performance, start with the following steps:
- Resize your Persistent Diskto increase the per-disk IOPS and throughput limits. Persistent Disk don't have any reserved, unusable capacity, so you can use the full disk without performance degradation. However, certain file systems and applications might perform worse as the disk becomes full, so you might need to consider increasing the size of your disk to avoid such situations.
- Change the machine typeand number of vCPUs on the instance to increase the per-instance IOPS and throughput limits.
After choosing the right disk size and machine type for your instance to resolve any performance bottlenecks, your application and OS might need additional tuning. For more information, seeOptimizing Persistent Disk performanceand Optimizing Local SSD performance.
What's next
- Benchmark your Local SSDsand Persistent Disk that are attached to Linux instances.
- Optimize your Persistent Diskand Local SSDperformance.
- Learn about Persistent Disk andLocal SSD pricing.
- Learn how to review your project log entriesusing the Logs Explorer.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-06-15 UTC.