分析 Hyperdisk 卷的预配 IOPS 和吞吐量


您可以查看磁盘说明,了解 Google Cloud Hyperdisk 卷的预配每秒预配输入/输出操作数 (IOPS) 或预配吞吐量。

您可以每 4 小时更改一次预配的 IOPS 或吞吐量。系统会记录 IOPS 或吞吐量级别的每一次更改。您可以查看日志历史记录并将其与性能指标进行比较,以了解预配的 IOPS 和吞吐量级别与工作负载观察到的性能级别之间的关系。

准备工作

  • 设置身份验证(如果尚未设置)。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以按如下方式向 Compute Engine 进行身份验证。

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证

查看 Hyperdisk 的预配性能设置

如需查看 Hyperdisk 卷的预配 IOPS 或吞吐量,请查看磁盘信息。

控制台

  1. 在 Google Cloud 控制台中,转到磁盘页面。

    转到“磁盘”

  2. 点击磁盘名称以查看配置详细信息。

Hyperdisk Balanced 磁盘已配置属性的屏幕截图
Hyperdisk 的已配置属性的屏幕截图

gcloud

  • 使用 gcloud compute disks describe 命令查看磁盘详细信息。

    gcloud compute disks describe DISK_NAME \
      --zone ZONE_NAME \
      --format="text(name, provisionedIops, provisionedThroughput, sizeGb)"
    

    替换以下内容:

    • DISK_NAME:Hyperdisk 卷的名称。
    • ZONE_NAME:在其中创建 Hyperdisk 卷的可用区。

    输出会显示磁盘的名称、当前磁盘大小和预配的 IOPS 或吞吐量,例如:

    name: my-hyperdisk-b
    provisionedIops: '8500'
    provisionedThroughput: '140'
    sizeGb: '150'
    

REST

构建对 compute.disks.get 方法的 GET 请求。在请求正文中,指定 Hyperdisk 卷的名称。

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/get

请替换以下内容:

  • PROJECT_ID:您的项目 ID。
  • ZONE:您的 Hyperdisk 卷所在的可用区。
  • DISK_NAME:要查看的 Hyperdisk 卷的名称。

在响应正文中,您可以查看当前磁盘大小、预配 IOPS 和吞吐量,例如:

{
  ...
  "name": "my-hyperdisk-x",
  "physicalBlockSizeBytes": "4096",
  "provisionedIops": "100000",
  ...
  "sizeGb": "1000",
  "status": "READY",
  ...
}

您可以使用查询过滤条件来仅返回要查看的信息。如需仅查看前面的示例输出中显示的字段,请在请求中附加如下所示的查询参数。

?fields=name,physicalBlockSizeBytes,provisionedIops,provisionedThroughput,sizeGb,status

查看磁盘性能指标

如需查看虚拟机的性能指标,请使用 Google Cloud 控制台中提供的 Cloud Monitoring 可观测性指标。

  1. 在 Google Cloud 控制台中,转到虚拟机实例页面。

    转到“虚拟机实例”

  2. 如需查看个别虚拟机的指标,请执行以下操作:

    1. 点击要查看其性能指标的虚拟机的名称。虚拟机详情页面随即打开。

    2. 点击可观测性标签页以打开“可观测性”概览页面。

  3. 探索虚拟机的性能指标。以下是与虚拟机磁盘性能相关的关键指标:

    • 概览页面上:

      • CPU 利用率。虚拟机使用的 CPU 的百分比。

      • 网络流量。在一分钟间隔内发送和接收字节的平均速率。

      • 磁盘吞吐量。对磁盘执行读写操作的平均字节数。

      • 磁盘 IOPS。磁盘对 I/O 读取和写入操作的平均速率。

    • 磁盘性能页面上,查看以下图表:

      • 操作次数 (IOPS)。一分钟内磁盘 I/O 读写操作的平均速率。

      • 按存储类型划分的 IOPS:一分钟时间段内磁盘 I/O 操作的平均速率(按存储类型和设备类型分组)。

      • 吞吐量(MB/秒):一分钟时间段内虚拟机磁盘读写的平均字节传输速率。

      • 按存储类型划分的吞吐量:一分钟时间段内虚拟机磁盘读写的平均字节传输速率(按存储类型和设备类型分组)。

      • 平均 I/O 大小:磁盘的 I/O 读取和写入操作的平均大小。较小 (4-16 KiB) 的随机 I/O 操作通常受限于 IOPS,而顺序或较大 (256 KiB-1 MiB) I/O 操作通常受限于吞吐量。

      • 队列平均长度:排名前 5 的设备已加入队列和正在运行的磁盘 I/O 操作次数(也称为队列深度)。如需达到 Hyperdisk 和永久性磁盘卷的性能限制,请使用较高的 I/O 队列深度

      • I/O 平均延迟时间:挂接到虚拟机的所有块存储设备操作的汇总 I/O 读取和写入操作的平均延迟时间,由虚拟机中的 Ops Agent 测量。此值包括操作系统处理时间和文件系统处理时间。

分析工作负载所需的 IOPS

如需确定工作负载所需的 IOPS,请记下峰值使用期间以及正常工作负载周期期间的峰值和平均 IOPS 速率和吞吐量率,以了解您的工作负载要求。

使用以下任一方法观察工作负载的 IOPS 要求:

  • 使用 Google Cloud 控制台中的磁盘详细信息页面上的 Monitoring 标签页。
  • 使用虚拟机的“可观测性”页面,如查看磁盘性能指标中所述。

根据观察到的指标值,确定是否应调整为虚拟机预配的 IOPS。例如:

  • 如果峰值 IOPS 速率接近 Hyperdisk 卷的预配 IOPS,您可以尝试增大 Hyperdisk 卷的预配 IOPS 以提高应用的性能。
  • 如果峰值 IOPS 速率始终低于预配 IOPS,则您可以降低为 Hyperdisk 卷的预配 IOPS 以降低磁盘费用。

分析工作负载所需的吞吐量

借助 Hyperdisk Balanced 和 Hyperdisk Throughput,您可以独立于磁盘容量预配吞吐量。您可以为给定卷指定目标吞吐量级别。单个卷具有完整的性能隔离 - 每个卷均预配了性能。但是,吞吐量最终受限于卷挂接的虚拟机的单个虚拟机限制。如需查看这些限制,请参阅 Hyperdisk 性能限制

读取和写入操作都会计入为 Hyperdisk 卷预配的吞吐量限制。预配的吞吐量和最大限制会应用于读写吞吐量的总和。

使用以下任一方法观察工作负载的吞吐量要求:

  • 使用 Google Cloud 控制台中的磁盘详细信息页面上的 Monitoring 标签页。
  • 使用虚拟机的“可观测性”页面,如查看磁盘性能指标中所述。

如果为一个或多个 Hyperdisk 卷预配的总吞吐量超过虚拟机级层提供的总吞吐量,则性能将受限于虚拟机级层的性能。

后续步骤