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


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

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

准备工作

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

    选择标签页以了解您打算如何使用本页面上的示例:

    控制台

    当您使用 Google Cloud 控制台访问 Google Cloud 服务和 API 时,无需设置身份验证。

    gcloud

    1. 安装 Google Cloud CLI,然后通过运行以下命令初始化 Google Cloud CLI:

      gcloud init
    2. 设置默认区域和可用区

    REST

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

      安装 Google Cloud CLI,然后通过运行以下命令初始化 Google Cloud CLI:

      gcloud init

查看 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 卷预配的总吞吐量超过虚拟机级层提供的总吞吐量,则性能将受限于虚拟机级层的性能。

后续步骤