概览
本页面讨论了许多因素,这些因素决定了挂接到虚拟机 (VM) 实例的块存储卷的性能。开始之前,请考虑以下事项:
如需达到永久性磁盘的性能限制,请使用较高的 I/O 队列深度(32 或更高)。与网络磁盘或本地 SSD 相比,永久性磁盘是联网存储,延迟时间通常更长。
确保您的应用会发出足够的 I/O,让磁盘达到饱和状态。
对于主要涉及小批量(4 KB 到 16 KB)随机 I/O 的工作负载,其限制性能因素是随机每秒输入/输出操作次数 (IOPS)。
对于主要涉及顺序随机 I/O 或大批量(256 KB 到 1 MB)随机 I/O 的工作负载,限制因素是吞吐量。
选择存储方案
您可以提供几种不同类型的块存储供实例使用。将永久性磁盘挂接到多个虚拟机不会影响总体性能或费用。按磁盘的性能限制会分摊到每个虚拟机。
配置可用区或区域永久性磁盘时,您可以选择以下某种磁盘类型:
- 标准永久性磁盘 (
pd-standard
) 适用于主要使用顺序 I/O 的大型数据处理工作负载。 - 平衡永久性磁盘 (
pd-balanced
) 是 SSD 永久性磁盘的替代方案,用于平衡性能和费用。由于平衡永久性磁盘与 SSD 永久性磁盘具有相同的最大 IOPS,并且每 GB 的 IOPS 更低,因此平衡永久性磁盘提供的性能水平适合大多数通用应用,价位介于标准永久性磁盘和 SSD 永久性磁盘之间。 - SSD 永久性磁盘 (
pd-ssd
) 适用于满足企业应用和高性能数据库的需求,与标准永久性磁盘相比,SSD 永久性磁盘具有更短的延迟时间和更多的 IOPS。SSD 永久性磁盘的设计旨在确保将延迟时间控制在数毫秒以内;实际的延迟时间取决于具体的应用。
如果您在 Cloud Console 中创建磁盘,则默认磁盘类型为 pd-balanced
。如果您使用 gcloud
工具或 Compute Engine API 创建磁盘,则默认磁盘类型为 pd-standard
。
区域 标准 永久性磁盘 |
地区 标准 永久性磁盘 |
区域 平衡 永久性磁盘 |
地区 平衡 永久性磁盘 |
区域 SSD 永久性磁盘 |
地区 SSD 永久性磁盘 |
本地 SSD (SCSI) | 本地 SSD (NVMe) | |
---|---|---|---|---|---|---|---|---|
最大持续 IOPS | ||||||||
读取 IOPS/GB | 0.75 | 0.75 | 6 | 6 | 30 | 30 | - | - |
写入 IOPS/GB | 1.5 | 1.5 | 6 | 6 | 30 | 30 | - | - |
读取 IOPS/实例 | 7500* | 7500* | 15000–80000* | 15000–60000* | 15000–100000* | 15000–60000* | 900000 | 2400000 |
写入 IOPS/实例 | 15000* | 15000* | 15000–80000* | 15000–30000* | 15000–100000* | 15000–30000* | 800000 | 1200000 |
最大持续吞吐量 (MB/s) | ||||||||
读取吞吐量/GB | 0.12 | 0.12 | 0.28 | 0.28 | 0.48 | 0.48 | - | - |
写入吞吐量/GB | 0.12 | 0.12 | 0.28 | 0.28 | 0.48 | 0.48 | - | - |
读取吞吐量/实例 | 240–1200* | 240–1200* | 240–1200* | 240–1200* | 240–1200* | 240–1200* | 9360 | 9360 |
写入吞吐量/实例 | 76–400** | 38–200** | 240–1200* | 120–600* | 240–1200* | 120–600* | 4680 | 4680 |
请注意 SSD 读取带宽和接近性能上限的 IOPS 一致性在很大程度上取决于网络入站流量利用率。某种程度上的性能限制变化是正常的,尤其是在接近 IOPS 上限(I/O 大小为 16 KB)操作时。
多写入者模式下的永久性磁盘的性能
在多写入者模式下创建的永久性磁盘具有特定的 IOPS 和吞吐量限制。
可用区级 SSD 永久性磁盘多写入者模式 | ||
---|---|---|
最大持续 IOPS | ||
读取 IOPS/GB | 30 | |
写入 IOPS/GB | 30 | |
读取 IOPS/实例 | 15000–60000* | |
写入 IOPS/实例 | 15000–60000* | |
最大持续吞吐量 (MB/s) | ||
读取吞吐量/GB | 0.48 | |
写入吞吐量/GB | 0.48 | |
读取吞吐量/实例 | 240–1200* | |
写入吞吐量/实例 | 240–1200* |
请参阅添加地区永久性磁盘或调整其大小了解如何将永久性磁盘挂接到多个实例。
将永久性磁盘与物理硬盘进行比较
在您指定永久性磁盘的容量大小时,请考虑这些磁盘与传统物理硬盘之间的对比情况。下表将标准永久性磁盘和 SSD 永久性磁盘与 7200 RPM SATA 硬盘的典型性能进行了比较,后者通常可达到 75 IOPS 或 120 MB/秒。
I/O 类型 | I/O 模式 | 要达到与 7200 RPM SATA 硬盘同等的性能所需的容量大小 (GB) | ||
---|---|---|---|---|
标准永久性磁盘 | 平衡永久性磁盘 | SSD 永久性磁盘 | ||
小批量随机读取次数 | 75 次小批量随机读取 | 100 | 12 | 3 |
小批量随机写入 | 75 次小批量随机写入 | 50 | 12 | 3 |
流式大批量读取 | 120 MB/秒的流式读取 | 1000 | 428 | 250 |
流式大批量写入 | 120 MB/秒的流式写入 | 1000 | 428 | 250 |
配置永久性磁盘和实例
永久性磁盘性能随磁盘大小和虚拟机实例上的 vCPU 数量而扩增。
性能会一直扩增,直至达到磁盘限制或挂接到磁盘的虚拟机实例数上限。虚拟机实例数上限取决于机器类型和实例上的 vCPU 数量。
例如,假设一个 1000 GB 的 SSD 永久性磁盘挂接到具有 N2 机器类型和 4 个 vCPU 的实例。仅基于磁盘大小的读取上限为 30000 IOPS。但是,由于实例具有 4 个 vCPU,因此读取上限限制为 15000 IOPS。
下表展示了按磁盘大小的性能(采用带来性能显著变化的增量)。不过,您可以以 1 GB 为增量指定磁盘大小。根据您的性能要求配置磁盘和虚拟机实例。
性能(按磁盘大小)
标准永久性磁盘
IOPS | 持续吞吐量(MB/秒) | ||||
---|---|---|---|---|---|
磁盘大小 (GB) | 读取 (每次 I/O <=16 KB) |
写入 (每次 I/O <=8 KB) |
写入 (每次 I/O 16 KB) |
读取 | 写入 |
10 | * | * | * | * | * |
32 | 24 | 48 | 48 | 3 | 3 |
64 | 48 | 96 | 96 | 7 | 7 |
128 | 96 | 192 | 192 | 15 | 15 |
256 | 192 | 384 | 384 | 30 | 30 |
512 | 384 | 768 | 768 | 61 | 61 |
1000 | 750 | 1500 | 1500 | 120 | 120 |
1500 | 1125 | 2250 | 2250 | 180 | 180 |
2048 | 1536 | 3072 | 3072 | 245 | 245 |
4000 | 3000 | 6000 | 6000 | 480 | 400 |
5000 | 3750 | 7500 | 7500 | 600 | 400 |
8192 | 6144 | 12288 | 7500 | 983 | 400 |
10000– 65536 |
7500 | 15000 | 7500 | 1200 | 400 |
SSD 永久性磁盘
IOPS | 持续吞吐量(MB/秒) | |||||
---|---|---|---|---|---|---|
磁盘大小 (GB) | 读取 (每次 I/O <=8 KB) |
读取 (每次 I/O <=16 KB) |
写入 (每次 I/O <=8 KB) |
写入 (每次 I/O 16 KB) |
读取 | 写入 |
10 | 300 | 300 | 300 | 300 | 4.8 | 4.8 |
32 | 960 | 960 | 960 | 960 | 15 | 15 |
64 | 1920 | 1920 | 1920 | 1920 | 30 | 30 |
128 | 3840 | 3840 | 3840 | 3840 | 61 | 61 |
256 | 7680 | 7680 | 7680 | 7680 | 122 | 122 |
500 | 15000 | 15000 | 15000 | 15000 | 240 | 240 |
834 | 25000 | 25000 | 25000 | 25000 | 400 | 400 |
1000 | 30000 | 30000 | 30000 | 25000 | 480 | 480 |
1334 | 40000 | 40000 | 40000 | 40000 | 640 | 640 |
1667 | 5 万 | 5 万 | 5 万 | 5 万 | 800 | 800 |
2048 | 60000 | 60000 | 60000 | 60000 | 983 | 983 |
3500–65536 | 10 万 | 75000 | 10 万 | 75000 | 1200 | 1200 |
机器类型和 vCPU 数量
查看性能指标和限制指标
您可以在 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 性能。