配置磁盘以满足性能要求

概览

本页面讨论了许多因素,这些因素决定了挂接到虚拟机 (VM) 实例的块存储卷的性能。开始之前,请考虑以下事项:

  • 与物理磁盘或本地 SSD 相比,永久性磁盘是联网存储,延迟时间通常更长。为了达到永久性磁盘的性能上限,您必须并行发出足够的 I/O 请求。如需检查您是否使用了足够高的队列深度来达到所需的性能水平,请参阅 I/O 队列深度

  • 确保您的应用会发出足够的 I/O,让磁盘达到饱和状态。

  • 对于主要涉及小批量(4 KB 到 16 KB)随机 I/O 的工作负载,其限制性能因素是随机每秒输入/输出操作次数 (IOPS)

  • 对于主要涉及顺序随机 I/O 或大批量(256 KB 到 1 MB)随机 I/O 的工作负载,限制因素是吞吐量

选择存储方案

如需选择适合您的工作负载的块存储选项,请考虑机器类型支持、磁盘大小和性能限制等因素。

磁盘类型

您可以提供几种不同类型的块存储供实例使用。配置可用区或区域永久性磁盘时,您必须选择以下某种磁盘类型。如果您在控制台中创建磁盘,则默认磁盘类型为 pd-balanced。如果您使用 gcloud CLI 或 Compute Engine API 创建磁盘,则默认磁盘类型为 pd-standard

  • 标准永久性磁盘 (pd-standard) 适用于主要使用顺序 I/O 的大型数据处理工作负载。
  • 平衡永久性磁盘 (pd-balanced) 是 SSD 永久性磁盘的替代方案,用于平衡性能和费用。由于平衡永久性磁盘与 SSD 永久性磁盘具有相同的最大 IOPS,并且每 GB 的 IOPS 更低,因此平衡永久性磁盘提供的性能水平适合大多数通用应用,价位介于标准永久性磁盘和 SSD 永久性磁盘之间。
  • SSD 永久性磁盘 (pd-ssd) 适用于满足企业应用和高性能数据库的需求,与标准永久性磁盘相比,SSD 永久性磁盘具有更短的延迟时间和更多的 IOPS。SSD 永久性磁盘的设计旨在确保将延迟时间控制在数毫秒以内;实际的延迟时间取决于具体的应用。
  • 极端永久性磁盘 (pd-extreme) 为随机访问工作负载和批量吞吐量提供始终如一的优越性能。它们专为高端数据库工作负载(例如 Oracle 或 SAP HANA)而设计。与其他磁盘类型不同,您可以预配所需的 IOPS。如需了解详情,请参阅极端永久性磁盘

性能限制

下表显示了永久性磁盘的性能限制。如需了解本地 SSD 性能限制,请参阅本地 SSD 性能

可用区永久性磁盘

下表显示了可用区永久性磁盘的最大持续 IOPS:

可用区
标准
永久性磁盘
可用区
平衡
永久性磁盘
可用区
SSD 永久性磁盘
可用区
极端永久性磁盘
可用区
SSD 永久性磁盘
多写入者模式
读取 IOPS/GB 0.75 6 30 - 30
写入 IOPS/GB 1.5 6 30 - 30
读取 IOPS/实例 7500* 80000* 100000* 120000* 100000*
写入 IOPS/实例 15000* 80000* 100000* 120000* 100000*

下表显示了可用区永久性磁盘的最大持续吞吐量:

可用区
标准
永久性磁盘
可用区
平衡
永久性磁盘
可用区
SSD 永久性磁盘
可用区
极端永久性磁盘
可用区
SSD 永久性磁盘
多写入者模式
吞吐量/GB (MB/s) 0.12 0.28 0.48 - 0.48
每个实例的读取吞吐量(MB/秒) 1200* 1200* 1200* 2200** 1200**
写入吞吐量/实例(MB/秒) 400** 1200* 1200* 2200** 1200**

* 永久性磁盘 IOPS 和吞吐量性能取决于磁盘大小、实例的 vCPU 数量和 I/O 块大小等诸多因素

区域永久性磁盘

下表显示了区域永久性磁盘的最大持续 IOPS:

区域
标准
永久性磁盘
区域
平衡
永久性磁盘
区域
SSD 永久性磁盘
读取 IOPS/GB 0.75 6 30
写入 IOPS/GB 1.5 6 30
读取 IOPS/实例 7500* 60000* 100,000*
写入 IOPS/实例 15000* 30000* 80,000*§

下表显示了区域永久性磁盘的最大持续吞吐量:

区域
标准
永久性磁盘
区域
平衡
永久性磁盘
区域
SSD 永久性磁盘
吞吐量/GB (MB/s) 0.12 0.28 0.48
读取吞吐量/实例 1200* 1200* 1200*
写入吞吐量/实例 200** 600* 600*

* 永久性磁盘 IOPS 和吞吐量性能取决于磁盘大小、实例的 vCPU 数量和 I/O 块大小等诸多因素
需要至少 64 个 vCPU 和 N1 或 N2 机器类型。处于未复制模式时可能较低。
§ 需要至少 64 个 vCPU 和 N1 或 N2 机器类型。

只读模式多写入者模式下将磁盘挂接到多个虚拟机实例不会影响总体性能或费用。按磁盘的性能限制会分摊到每个虚拟机。 在多写入者模式下创建的永久性磁盘具有特定的 IOPS 和吞吐量限制。如需了解如何在多个虚拟机之间共享永久性磁盘,请参阅在虚拟机之间共享永久性磁盘

永久性磁盘 I/O 操作与虚拟机管理程序中的 vNIC 网络流量共用一个公共路径。因此,如果您的虚拟机具有大量网络流量,则实际读取带宽和 IOPS 一致性可能低于列出的最大值。某种程度上的性能限制变化是正常的,尤其是在接近 IOPS 上限(I/O 大小为 16 KB)操作时。 如需带宽预期摘要,请参阅带宽摘要表

配置永久性磁盘和实例

永久性磁盘性能随磁盘大小和虚拟机实例上的 vCPU 数量而扩增。

性能会一直扩增,直至达到磁盘限制或挂接到磁盘的虚拟机实例数上限。机器类型和实例上的 vCPU 数量决定了虚拟机实例的限制。

下表显示了可用区永久性磁盘的性能限制。如需了解区域永久性磁盘的性能限制,请参阅区域永久性磁盘性能

基于机器类型和 vCPU 数量的性能

下表显示了可用区永久性磁盘的性能如何根据机器类型以及挂接该磁盘的虚拟机上的 vCPU 数量而变化。

A2 虚拟机

pd-standard

机器类型 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
a2-highgpu-1g 15000 5000 400 800
a2-highgpu-2g 15000 7500 400 1200
a2-highgpu-4g 15000 7500 400 1200
a2-highgpu-8g 15000 7500 400 1200
a2-megagpu-16g 15000 7500 400 1200

pd-balanced

机器类型 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
a2-highgpu-1g 15000 15000 800 800
a2-highgpu-2g 2 万 20000 1200 1200
a2-highgpu-4g 5 万 5 万 1200 1200
a2-highgpu-8g 8 万 8 万 1200 1200
a2-megagpu-16g 8 万 8 万 1200 1200

pd-performance

机器类型 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
a2-highgpu-1g 15000 15000 800 800
a2-highgpu-2g 25000 25000 1200 1200
a2-highgpu-4g 60000 60000 1200 1200
a2-highgpu-8g 10 万 10 万 1200 1200
a2-megagpu-16g 10 万 10 万 1200 1200

C2 虚拟机

pd-standard

虚拟机的 vCPU 数量 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
4 4000 3000 240 240
8 4000 3000 240 240
16 4000 3000 240 240
30 8000 3000 240 240
60 15000 3000 240 240

pd-balanced

虚拟机的 vCPU 数量 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
4 4000 4000 240 240
8 4000 4000 240 240
16 4000 8000 480 600
30 8000 15000 480 600
60 15000 15000 800 1200

pd-performance

虚拟机的 vCPU 数量 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
4 4000 4000 240 240
8 4000 4000 240 240
16 4000 8000 480 600
30 8000 15000 480 600
60 15000 30000 800 1200

C2D 虚拟机

pd-standard

虚拟机的 vCPU 数量 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
2 4590 3060 245 245
4 4590 3060 245 245
8 4590 3060 245 245
16 4590 3060 245 245
32 8160 3060 245 245
56 8160 3060 245 245
112 15300 3060 245 245

pd-balanced

虚拟机的 vCPU 数量 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
2 4590 4080 245 245
4 4590 4080 245 245
8 4590 4080 245 245
16 4590 8160 245 326
32 8160 15300 245 612
56 8160 15300 245 612
112 15300 30600 408 1224

pd-performance

虚拟机的 vCPU 数量 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
2 4590 4080 245 245
4 4590 4080 245 245
8 4590 4080 245 245
16 4590 8160 245 326
32 8160 15300 245 612
56 8160 15300 245 612
112 15300 30600 408 1224

E2 虚拟机

pd-standard

虚拟机的 vCPU 数量 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
e2-medium* 1 万 1000 200 200
2-7 15000 3000 240 240
8-15 15000 5000 400 800
16 个或更多 15000 7500 400 1200

*E2 共享核心机器类型会同时运行在一个物理核心上共享的两个 vCPU 一段时间。

pd-balanced

虚拟机的 vCPU 数量 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
e2-medium* 1 万 12000 200 200
2-7 15000 15000 240 240
8-15 15000 15000 800 800
16-31 20000 2 万 1000 1200
32 个或更多 5 万 5 万 1000 1200

*E2 共享核心机器类型会同时运行在一个物理核心上共享的两个 vCPU 一段时间。

pd-performance

虚拟机的 vCPU 数量 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
e2-medium* 1 万 12000 200 200
2-7 15000 15000 240 240
8-15 15000 15000 800 800
16-31 25000 25000 1000 1200
32 个或更多 60000 60000 1000 1200

*E2 共享核心机器类型会同时运行在一个物理核心上共享的两个 vCPU 一段时间。

N1 虚拟机

pd-standard

虚拟机的 vCPU 数量 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
1 15000 不高于 3000 204 240
2-7 15000 3000 240 240
8-15 15000 5000 400 800
16 个或更多 15000 7500 400 1200

pd-balanced

虚拟机的 vCPU 数量 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
1 15000 15000 204 240
2-7 15000 15000 240 240
8-15 15000 15000 800 800
16-31 20000 20000 1200 1200
32-63 5 万 5 万 1200 1200
64 个或更多 8 万 8 万 1200 1200

pd-performance

虚拟机的 vCPU 数量 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
1 15000 15000 204 240
2-7 15000 15000 240 240
8-15 15000 15000 800 800
16-31 25000 25000 1200 1200
32-63 60000 60000 1200 1200
64 个或更多 10 万 10 万 1200 1200

N2 虚拟机

pd-standard

虚拟机的 vCPU 数量 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
2-7 15000 3000 240 240
8-15 15000 5000 400 800
16 个或更多 15000 7500 400 1200

pd-balanced

虚拟机的 vCPU 数量 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
2-7 15000 15000 240 240
8-15 15000 15000 800 800
16-31 20000 20000 1200 1200
32-63 5 万 5 万 1200 1200
64 个或更多 8 万 8 万 1200 1200

pd-performance

虚拟机的 vCPU 数量 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
2-7 15000 15000 240 240
8-15 15000 15000 800 800
16-31 25000 25000 1200 1200
32-63 60000 60000 1200 1200
64 个或更多 10 万 10 万 1200 1200

pd-extreme

机器类型 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
n2-standard-64 120000 120000 2,200 2,200
n2-highmem-64 120000 120000 2,200 2,200
n2-highmem-80 120000 120000 2,200 2,200

N2D 虚拟机

pd-standard

虚拟机的 vCPU 数量 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
2-7 15000 3000 240 240
8-15 15000 5000 400 800
16 个或更多 15000 7500 400 1200

pd-balanced

虚拟机的 vCPU 数量 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
2-7 15000 15000 240 240
8-15 15000 15000 800 800
16-31 20000 20000 1200 1200
32-63 5 万 5 万 1200 1200
64 个或更多 不高于 80000 不高于 80000 1200 1200

pd-performance

虚拟机的 vCPU 数量 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
2-7 15000 15000 240 240
8-15 15000 15000 800 800
16-31 25000 25000 1200 1200
32-63 60000 60000 1200 1200
64 个或更多 不高于 100000 不高于 100000 1200 1200

M1 虚拟机

pd-standard

机器类型 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
m1-megamem-96 15000 7500 400 1200
m1-ultramem-40 15000 7500 400 1200
m1-ultramem-80 15000 7500 400 1200
m1-ultramem-160 15000 7500 400 1200

pd-balanced

机器类型 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
m1-megamem-96 8 万 8 万 1200 1200
m1-ultramem-40 60000 60000 1200 1200
m1-ultramem-80 70000 70000 1200 1200
m1-ultramem-160 70000 70000 1200 1200

pd-performance

机器类型 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
m1-megamem-96 90000 90000 1200 1200
m1-ultramem-40 60000 60000 1200 1200
m1-ultramem-80 70000 70000 1200 1200
m1-ultramem-160 70000 70000 1200 1200

pd-extreme

机器类型 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
m1-megamem-96 90000 90000 2,200 2,200

M2 虚拟机

pd-standard

机器类型 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
m2-megamem-416 15000 7500 400 1200
m2-ultramem-208 15000 7500 400 1200
m2-ultramem-416 15000 7500 400 1200

pd-balanced

机器类型 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
m2-megamem-416 40000 40000 1200 1200
m2-ultramem-208 60000 60000 1200 1200
m2-ultramem-416 40000 40000 1200 1200

pd-performance

机器类型 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
m2-megamem-416 40000 40000 1200 1200
m2-ultramem-208 60000 60000 1200 1200
m2-ultramem-416 40000 40000 1200 1200

pd-extreme

机器类型 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
m2-ultramem-208 60000 60000 2,200 2,200
m2-ultramem-416 40000 40000 1200 2,200

T2D 虚拟机

pd-standard

虚拟机的 vCPU 数量 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
1 15000 3000 204 240
2-7 15000 3000 240 240
8-15 15000 5000 400 800
16 个或更多 15000 7500 400 1200

pd-balanced

虚拟机的 vCPU 数量 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
1 15000 15000 204 240
2-7 15000 15000 240 240
8-15 15000 15000 800 800
16-31 20000 20000 1200 1200
32-63 5 万 5 万 1200 1200
64 个或更多 不高于 80000 不高于 80000 1200 1200

pd-performance

虚拟机的 vCPU 数量 最大写入 IOPS 最大读取 IOPS 最大写入吞吐量 (MB/s) 最大读取吞吐量 (MB/s)
1 15000 15000 204 240
2-7 15000 15000 240 240
8-15 15000 15000 800 800
16-31 25000 25000 1200 1200
32-63 60000 60000 1200 1200
64 个或更多 不高于 100000 不高于 100000 1200 1200

示例

假设一个 1000 GB 的可用区 SSD 永久性磁盘挂接到具有 N2 机器类型和 4 个 vCPU 的虚拟机。仅基于磁盘大小的读取上限为 30000 IOPS,因为 SSD 永久性磁盘的每 GB 磁盘空间最高可达 30 IOPS。但是,虚拟机具有 4 个 vCPU,因此读取上限会被限制为 15000 IOPS。

查看性能指标和限制指标

您可以在 Cloud Monitoring(Google Cloud 的集成式监控解决方案)中查看永久性磁盘性能指标。

如果磁盘受到限制,则了解其中一些指标非常有用。限制的目的是为了消除突发性 I/O。 通过限制磁盘,可以将突发性 I/O 分散在一段时间内,以确保在任何给定时刻都可以符合(而不会超出)磁盘的性能限制。

如果您的工作负载具有突发性 I/O 使用模式,则预计会出现与读取或写入字节数激增相对应的受限字节数激增现象。同样,预计会出现与读取/写入操作次数激增相对应的受限操作次数激增现象。

如果您的磁盘限制为 1000 次写入 IOPS,则磁盘每 1 毫秒接受写入请求一次。如果您发出写入请求的速度较快,则会产生一点小延迟,以 1 毫秒为间隔分布请求。本文档中始终都会强制执行 IOPS 和吞吐量限制,而不是每分钟或每秒强制执行一次。

数据库是突发性工作负载的一个常见示例。数据库往往具有短暂、微突发的 I/O 操作,这会导致队列深度临时性增加。较高的队列深度可能会导致较长的延迟时间,因为队列中会有更多的未完成 I/O 操作请求处于等待状态。

如果您的工作负载具有均衡的 I/O 使用模式,并且您的磁盘持续达到性能限制,您可以看到受限字节数和操作次数保持均衡。

如需了解详情,请参阅查看永久性磁盘性能指标

优化磁盘性能

如需提高磁盘性能,请按以下步骤开始操作:

  • 调整永久性磁盘的大小以提高个别 IOPS 和吞吐量限制。永久性磁盘没有任何预留、不可用的容量,因此您可以使用完整磁盘,而不会造成性能下降。但是,如果磁盘空间耗尽,某些文件系统和应用的性能可能会恶化,因此您可能需要增大磁盘大小,以避免发生这种情况。

  • 更改计算机类型和实例上的 vCPU 数量以增加个别实例 IOPS 和吞吐量限制。

在确保任何瓶颈都不是由虚拟机的磁盘大小或机器类型造成的之后,您的应用和操作系统可能仍需要进行一些微调。请参阅优化永久性磁盘性能优化本地 SSD 性能

影响性能的其他因素

后续步骤