A company plans to run a stateful application on Compute Engine that requires high random I/O performance and the ability to resize the persistent disk without downtime. The application is running on a Linux VM. Which persistent disk type and configuration should the engineer choose?
Trap 1: Balanced persistent disk (pd-balanced)
Balanced persistent disk (pd-balanced) offers a compromise between cost and performance, with IOPS and throughput that scale with the provisioned disk size. However, its per-disk performance ceiling is significantly lower than pd-extreme, and it does not allow independent provisioning of IOPS separate from capacity. For a stateful app that experiences unpredictable spikes in I/O or requires consistently high random write throughput, pd-balanced will likely become a bottleneck, leading to increased latency and potential application timeouts.
Trap 2: SSD persistent disk (pd-ssd)
SSD persistent disk (pd-ssd) provides solid-state performance and is a common default for many applications, but it is not designed for the absolute highest IOPS. Performance is directly tied to the disk's provisioned size, so reaching IOPS comparable to pd-extreme would require an excessively large, costly disk. Additionally, resizing pd-ssd while attached to a running VM may require more complex, snapshot-based procedures or an extended maintenance window, which disrupts the availability of a stateful application and makes it a poor fit for this scenario.
Trap 3: Standard persistent disk (pd-standard)
Standard persistent disk (pd-standard) is backed by rotational hard drives and delivers only a few hundred IOPS, with high latency and low throughput. It is unsuited for the random read/write patterns that stateful applications typically generate, such as database transaction logs or real-time updates. While it is the cheapest option, its severe performance limitations will cause significant application slowdowns and are only acceptable for cold storage, backups, or bulk data that is accessed infrequently.
- A
Extreme persistent disk (pd-extreme)
Extreme persistent disk (pd-extreme) is the correct choice because it is engineered for high-performance, low-latency workloads. It supports provisioning up to 100,000 IOPS per instance and allows live resizing of both capacity and performance while the VM remains attached and running. This combination of extreme throughput and zero-downtime scaling makes it ideal for a stateful application with demanding random I/O and strict availability requirements.
- B
Balanced persistent disk (pd-balanced)
Why it fails: Balanced persistent disk (pd-balanced) offers a compromise between cost and performance, with IOPS and throughput that scale with the provisioned disk size. However, its per-disk performance ceiling is significantly lower than pd-extreme, and it does not allow independent provisioning of IOPS separate from capacity. For a stateful app that experiences unpredictable spikes in I/O or requires consistently high random write throughput, pd-balanced will likely become a bottleneck, leading to increased latency and potential application timeouts.
- C
SSD persistent disk (pd-ssd)
Why it fails: SSD persistent disk (pd-ssd) provides solid-state performance and is a common default for many applications, but it is not designed for the absolute highest IOPS. Performance is directly tied to the disk's provisioned size, so reaching IOPS comparable to pd-extreme would require an excessively large, costly disk. Additionally, resizing pd-ssd while attached to a running VM may require more complex, snapshot-based procedures or an extended maintenance window, which disrupts the availability of a stateful application and makes it a poor fit for this scenario.
- D
Standard persistent disk (pd-standard)
Why it fails: Standard persistent disk (pd-standard) is backed by rotational hard drives and delivers only a few hundred IOPS, with high latency and low throughput. It is unsuited for the random read/write patterns that stateful applications typically generate, such as database transaction logs or real-time updates. While it is the cheapest option, its severe performance limitations will cause significant application slowdowns and are only acceptable for cold storage, backups, or bulk data that is accessed infrequently.