You can view the disk description to see the currently provisioned input/output operations per second (IOPS) or the currently provisioned throughput for Google Cloud Hyperdisk volumes.
You can change the provisioned IOPS or throughput once in every 4 hour period. Each change of the IOPS or throughput level is logged. You can review the log history and compare it with performance metrics to understand how the provisioned IOPS and throughput levels relate to the performance level observed by your workload.
Before you begin
- If you want to use the command-line examples in this guide, do the following:
- Install or update to the latest version of the Google Cloud CLI.
- Set a default region and zone.
- If you want to use the API examples in this guide, set up API access.
View the currently provisioned performance settings for Hyperdisk
To view the provisioned IOPS or throughput for your Hyperdisk volumes, view the disk information.
Console
In the Google Cloud console, go to the Disks page.
Click the name of the disk to view the configuration details.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Use the
gcloud compute disks describe
command to view the disk details.Hyperdisk Extreme
gcloud compute disks describe DISK_NAME \ --zone ZONE_NAME \ --format="text(name, provisionedIops, sizeGb)"
Hyperdisk Throughput
gcloud compute disks describe DISK_NAME \ --zone ZONE_NAME \ --format="text(name, provisionedThroughput, sizeGb)"
Replace the following:
DISK_NAME
: the name of the Hyperdisk volume.ZONE_NAME
: the zone where the Hyperdisk volume was created.
The output shows the name of the disk, the current disk size and the provisioned IOPS or throughput, for example:
Hyperdisk Extreme
name: my-hyperdisk provisionedIops: '100000' sizeGb: '1000'
Hyperdisk Throughput
name: my-hyperdisk provisionedThrougput: '300' sizeGb: '10000'
API
In the API, construct a GET
request to the
compute.disks.get
method.
In the request body, specify the name of the Hyperdisk volume.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/get
Replace the following:
PROJECT_ID
: your project ID.ZONE
: the zone where your Hyperdisk volume is located.DISK_NAME
: the name of the Hyperdisk volume to view.
In the response body, you can view the current disk size and provisioned IOPS or throughput, for example:
{ ... "name": "my-hyperdisk", "physicalBlockSizeBytes": "4096", "provisionedIops": "100000", ... "sizeGb": "1000", "status": "READY", ... }
You can use a query filter to return only the information you want to view. To view only the fields shown in the preceding example output, append a query parameter similar to the following to your request.
?fields=name,physicalBlockSizeBytes,provisionedThroughput,sizeGb,status
View disk performance metrics
To view performance metrics for your VMs, use the Cloud Monitoring observability metrics available in the Google Cloud console.
In the Google Cloud console, go to the VM Instances page.
To view metrics for individual VMs, do the following:
Click the name of the VM you want to view performance metrics for. The VM instance Details page opens.
Click the Observability tab to open the Observability Overview page.
Explore the VM's performance metrics. The following are key metrics related to disk performance for a VM:
On the Overview page:
CPU Utilization. The percent of CPU used by the VM.
Network Traffic. The average rate of bytes sent and received in one minute intervals.
Disk Throughput. The average rate of bytes written to and read from disks.
Disk IOPS. The average rate of I/O read and write operations to disks.
On the Disks Performance page, view the following charts:
Operations (IOPS). The average rate of I/O read and write operations to the disk in one-minute time periods.
I/O Size Avg. The average size of I/O read and write operations to disks. Small (4-16 KiB) random I/Os are usually limited by IOPS and sequential or large (256 KiB-1 MiB) I/Os are usually limited by throughput.
Queue Length Avg. The number of queued and running disk I/O operations, also called queue depth, for the top 5 devices. To reach the performance limits of your Hyperdisk and Persistent Disk volumes, use a high I/O queue depth.
I/O Latency Avg. The average latency of I/O read and write operations aggregated across operations of all block storage devices attached to the VM, measured by the Ops Agent in the VM. This value includes operating system and file system processing time.
Analyze the IOPS needed for your workload
To determine the IOPS needed for your workload, make note of the peak and average IOPS and throughput rates during times of peak usage, and also during a normal workload cycle, to get an idea of your workload requirements.
Observe the IOPS requirements of your workload using any of the following methods:
- Use the Cloud Monitoring > Metrics Explorer page to view the disk performance metrics.
- Use the Monitoring tab on the disk details page in the Google Cloud console.
- Use the Observability page for your VM, as described in View disk performance metrics.
Based on the observed metric values, determine if you should adjust the provisioned IOPS for your VM. For example:
- If the peak IOPS rate is close to the provisioned IOPS for the Hyperdisk volume, then you can try increasing the provisioned IOPS for the Hyperdisk volume to boost the performance of your application.
- If the peak IOPS rate is consistently lower than the provisioned IOPS, then you can lower the provisioned IOPS for the Hyperdisk volume to reduce the cost of the disk.
Choose the right performance level for a Hyperdisk Throughput volume
With Hyperdisk Throughput, you can provision capacity separately from performance. To provision performance, you select the desired throughput level for a given volume. Individual volumes have full performance isolation - each volume gets the performance provisioned to it. However, the throughput is ultimately capped by per-instance limits on the VM instance to which your volumes are attached. To review these limits, see Hyperdisk capacity.
Both read and write operations count against the throughput limit provisioned for a Hyperdisk Throughput volume. The throughput provisioned and the maximum limits apply to the combined total of read and write throughput.
There is no baseline throughput that comes with the provisioned capacity. Throughput must be provisioned separately. Throughput provisioned for Hyperdisk Throughput volumes must follow the following rules:
- At least 10 MB/s per TiB of capacity, and no more than 90 MB/s per TiB of capacity.
- At most 600 MB/s per volume.
If the total throughput provisioned for one or more Hyperdisk Throughput volumes exceeds the total throughput available at the instance level, the performance is limited to the VM-level performance.
What's next
- Learn how to optimize Hyperdisk performance.
- Learn how to modify the settings for a Hyperdisk volume
- Learn about Hyperdisk pricing.