This document discusses how Google Cloud Hyperdisk performance works so that you can understand your Hyperdisk volumes' performance and select the right Hyperdisk type for your workload.
Hyperdisk is Google Cloud's recommended durable block storage option. To learn more about Hyperdisk, see About Hyperdisk.
For detailed performance limits, see Hyperdisk performance limits.
To review the current or past performance of a Hyperdisk volume, see Review disk performance metrics.
Terminology and unitsHyperdisk performance, as discussed in this document, refers to IOPS and throughput.
Size measurements are in GiB or TiB.
Machine type terminologyThe term compute instance refers to a virtual machine (VM) instance or bare metal instance. A compute instance's machine type is the specific combination of its properties, like its machine series and number of vCPUs.
In this document, machine types are denoted in this format: M-*-N
, where:
M
is the machine series, for example, C3
*
represents all memory and CPU configurations, for example, standard
or highcpu
N
is the number of vCPUs, CPUs, or the GPU designation, for example, 22 for an instance with 22 vCPUs, or 8g
for an instance with 8 GPUsThis format includes the following machine types, wherever available:
*-metal
)*-lssd
, *-standardlssd
, or *-highlssd
).For example, c3-*-176
refers to all C3 machine types with 176 vCPUs, namely c3-standard-176
, c3-highcpu-176
, c3-highmem-176
, and c3-standard-176-lssd
. For more information, see Compute Engine terminology.
When you attach Hyperdisk volumes to an instance, the maximum achievable performance depends on the scenario, as outlined in the following table.
Number of HyperdiskFor limits by Hyperdisk type, see Performance limits by Hyperdisk type.
For limits by machine type, see Performance limits by machine type.
About provisioned performance for HyperdiskYou can specify a target performance level for a Hyperdisk volume. The IOPS or throughput value you specify, or provision, is referred to as the provisioned performance.
Important: For a Hyperdisk volume to reach its provisioned performance, you must attach it to an instance that supports that level of performance or higher.You can provision a volume's performance when you create the volume. You can also increase or decrease the performance while the volume is in use without having to increase the volume's size.
The provisioned performance isn't a guaranteed level of performance. Rather, it's the target performance level that you expect the volume to need during peak usage times. Actual performance depends on the limits of the instance that uses the volume and several other factors.
Default performance levelsProvisioning a performance level for a Hyperdisk volume is optional. If you don't specify a value, for example, because you're not sure how much IOPS or throughput your workload needs, Compute Engine creates the volume with default values. You can increase or decrease the value later. Default values vary by Hyperdisk type and are listed in the Default IOPS and throughput values section for Hyperdisk Balanced, Hyperdisk Balanced High Availability, Hyperdisk Extreme, Hyperdisk Throughput, or Hyperdisk ML.
Limits for provisioned performanceThe maximum performance you can provision depends on the Hyperdisk type and the size of the volume.
Limit for the Hyperdisk typeEach Hyperdisk type has a maximum level of performance that you can provision. Some Hyperdisk types let you provision IOPS, throughput, or both. If you can't provision throughput, the throughput for the volume depends on the provisioned IOPS. Likewise, if you can't provision IOPS, the IOPS for the volume depends on the throughput you provision.
For example, you can provision throughput for Hyperdisk ML volumes, but not IOPS. The IOPS-to-throughput rate for Hyperdisk ML is 16 IOPS per MiB/s of provisioned throughput. So if you create a Hyperdisk ML volume with 100,000 MiB/s of throughput, then the volume is provisioned with 1,600,000 IOPS.
Size based limitsThe maximum performance you can provision changes with the volume's size. For example, for a 10 TiB Hyperdisk Balanced volume, you can provision 3,000 to 160,000 IOPS, but for a 50 GiB volume, you can provision 3,000 to 25,000 IOPS.
For details about the size-based limits for each Hyperdisk type, see the Size and performance limits section on the Hyperdisk Balanced, Hyperdisk Balanced High Availability, Hyperdisk Extreme, Hyperdisk Throughput, and Hyperdisk ML pages.
The following table lists the maximum performance you can provision for each Hyperdisk type.
Note: Hyperdisk performance is half-duplex, so the IOPS and throughput limits are shared between read and write operations. This means that if a machine type has a 50,000 IOPS limit, then the sum of the reads and writes every second can't exceed 50,000. Hyperdisk type Max provisionable performance per volume Customizable throughput Customizable IOPS Hyperdisk Balanced 160,000 IOPSFor workloads that are sensitive to performance variability, consider using a machine series that offers steady state performance. The steady state performance limit is the performance level an instance can sustain across all attached volumes. By comparison, the maximum performance level is the highest performance level that an instance can achieve.
Steady state performance limits don't constitute a service level agreement (SLA).
For a Hyperdisk volume to achieve a specific steady state performance limit, its provisioned performance must be equal to or greater than the steady state limit.
The steady state performance limit is shared across all the disks attached to the instance.
Machine series that offer steady state performanceThe following machine series offer steady state performance:
Configure a workload to meet provisioned performanceA Hyperdisk volume's actual performance—the observed performance when attached to an instance—can't exceed the following limits:
Therefore, to make sure your volume can reach its provisioned performance, consider the following factors:
Choose a machine type that supports the volume's provisioned performance for the Hyperdisk type. Review the guidance in Instance specific performance limits for each Hyperdisk type.
If you want to use different Hyperdisk types with the instance, review the information in Maximum performance limits for the machine type.
If your project has more than 150 Hyperdisk Balanced and Hyperdisk Balanced High Availability volumes in the same zone, review the information in Concurrent consumption limits for baseline performance.
Factors like I/O size and application design, while not performance limits, also affect performance. For more information on these factors, see Workload specific factors that affect performance.
How instance performance limits affect Hyperdisk performanceEach compute instance has the following performance limits, based on its machine type:
Each limit applies in specific situations.
Instance performance limits for each Hyperdisk typeEach instance has a performance limit for all Hyperdisk volumes of a given type that you attach to the instance.
When this limit applies: When you attach 1 or more Hyperdisk volumes of the same type to an instance. For each volume to reach its proivisioned performance, the instance performance limit must be greater than the sum of all the volumes' provisioned performance for. Otherwise, the volumes' performance can't exceed the instance's performance limit.
ExampleSuppose you have a Hyperdisk Throughput volume, hdt-disk-1
, that has 600 MiB/s of provisioned throughput and you want to attach it to a c3-*-4
instance.
c3-*-4
instances have the following throughput limits:
If you attach hdt-disk-1
to the VM, the volume's actual performance can't exceed 240 MiB/s. If you attach a Hyperdisk Balanced volume instead, the Hyperdisk Balanced volume's performance can't exceed 400 MiB/s.
If you attach 2 Hyperdisk Balanced volumes to the VM, the combined performance of both Hyperdisk Balanced volumes still can't exceed 400 MiB/s. This is true regardless of the provisioned performance of both volumes.
The performance limits for each Hyperdisk by machine type are listed in Performance limits by Hyperdisk type.
Overall performance limit for an instanceEach instance has an overall performance limit that it can reach. This limit is shared among all volumes attached to the instance.
When this limit applies: When you attach more than one type of Hyperdisk to an instance. The combined actual performance of all the volumes can't exceed the performance limit for the instance, regardless of the provisioned performance of each volume.
If the instance supports Persistent Disk, all attached Persistent Disk volumes also share the same limit.
ExampleSuppose you have a c3-*-22
instance, which has a max throughput of 1,800 MiB/s.
You attach the following resources to the VM:
The combined performance across all the volumes can't exceed 1,800 MiB/s.
For a list of the limits, see Performance limits by machine type.
Concurrent consumption limits for baseline performanceCompute Engine restricts how much free performance a project's Hyperdisk Balanced High Availability and Hyperdisk Balanced volumes that are in the same zone or the same storage pool can consume at the same time. This limit is referred to as the concurrent consumption limit for baseline performance.
When this limit applies: This limit applies to projects with more than 150 Hyperdisk Balanced and Hyperdisk Balanced High Availability volumes in the same zone. This limit also applies to volumes in a Hyperdisk Balanced Storage Pool if the storage pool doesn't use advanced performance provisioning.
Provisioned performance for Hyperdisk Balanced and Hyperdisk Balanced High Availability volumes is made up of billable and free performance. The first 3,000 IOPS and 140 MiB/s of throughput that you provision are free, and are referred to as baseline performance. Provisioned performance that exceeds 3,000 IOPS or 140 MiB/s is considered billable performance. For example, a volume provisioned with 4,000 IOPS has 1,000 billable IOPS.
Hyperdisk Balanced High Availability and Hyperdisk Balanced volumes within the same project and the same zone have the following concurrent consumption limits for baseline performance:
Within a project, you provision more than 500,000 IOPS and 50 GiB/s of throughput across all the volumes in the same zone. However, the volumes can't concurrently consume more than 500,000 IOPS or 50 GiB/s of throughput.
Also, the total concurrent performance can't exceed the total baseline performance that you provisioned. For example, if you provisioned a total of 100,000 baseline IOPS within the same zone and project, then the concurrent consumption limit for baseline performance is 100,000 IOPS.
Total consumption limits within the same project and zoneEach zone within a project has a total concurrent consumption limit—the total performance across billable and baseline performance that all the Hyperdisk Balanced and Hyperdisk Balanced High Availability can use at the same time.
For each zone within a project, the total concurrent consumption limit is the sum of the following values:
To make sure that you've provisioned enough performance for your workload, compare the following values:
If the total performance you expect your volumes to consume is more than the total concurrent consumption limit, Compute Engine will limit your volumes' performance unless you provision more billable performance.
Consider the following examples.
Example 1Your project has 10 Hyperdisk Balanced volumes in zone A, and each volume is provisioned with 100,000 IOPS, for a total of 1,000,000 provisioned IOPS. You expect the volumes to concurrently consume 800,000 IOPS.
To determine the total concurrent consumption limit, add the total provisioned billable IOPS to the project's concurrent consumption limit for baseline performance.
Total concurrently consumable performance for zone A is 1,000,000 IOPS (30,000 + 970,000). The volumes' performance won't be limited, because the total provisioned baseline IOPS is less than 500,000 IOPS.
Example 2Your project has 500 Hyperdisk Balanced High Availability volumes in zone C, and each is provisioned with 3,500 IOPS, for a total of 1,750,000 provisioned IOPS. You expect the volumes to concurrently consume 1,000,000 IOPS.
To determine the total concurrent consumption limit, add the total provisioned billable IOPS to the project's concurrent consumption limit for baseline performance.
The total concurrently consumable performance for zone C is 750,000 IOPS (250,000 + 500,000). The volumes' concurrent consumption of baseline IOPS is limited at 500,000 IOPS.
To concurrently consume 1,000,000 IOPS, provision more billable performance for the volumes.
Workload-specific factors that affect performanceThis section discusses workload-specific factors that affect the throughput and IOPS limits that your Hyperdisk volumes can achieve. For more information about how to improve performance, see Optimize Hyperdisk performance.
To reach the maximum IOPS and throughput levels offered by Hyperdisk volumes, you must consider the following workload parameters:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4