对于高端的性能关键型应用,请使用极端永久性磁盘卷。与其他永久性磁盘卷相比,极端永久性磁盘卷具有更高的 IOPS 和吞吐量上限,并且允许单独预配 IOPS 和容量。极端永久性磁盘适用于所有可用区。
创建极端永久性磁盘时,您可以预配的 IOPS 为 2,500 到 120,000。如果您需要的 IOPS 超过 125,000,我们建议您使用 Google Cloud Hyperdisk。Hyperdisk 可在 Compute Engine 中提供最高的 IOPS 和吞吐量,并适用于最新的机器类型。
本文档介绍使用极端永久性磁盘的一些限制、达到可能的性能水平上限的注意事项,以及如何使用 Google Cloud 控制台、gcloud CLI 或 REST 预配 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
-
安装 Google Cloud CLI,然后使用联合身份登录 gcloud CLI。 登录后,运行以下命令来初始化 Google Cloud CLI:
gcloud init - Set a default region and zone.
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭证。
安装 Google Cloud CLI,然后使用联合身份登录 gcloud CLI。 登录后,运行以下命令来初始化 Google Cloud CLI:
gcloud init如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
-
机器类型支持
您可以将 N2、M2 和 M3 机器系列与极端永久性磁盘搭配使用。N2 虚拟机需要至少 64 个 vCPU。以下是支持极端永久性磁盘提供的性能水平上限的机器类型列表:
所有其他机器类型都无法用于生产环境。 如果您想使用不受支持的机器类型,我们建议您改用 Hyperdisk。
配备 64 或 80 个 vCPU 的 N2 虚拟机需要 Intel Ice Lake CPU 平台才会达到规定的性能限制。使用 Intel Cascade Lake CPU 平台的 N2 虚拟机的性能会略低。如需了解详情,请参阅为虚拟机实例设置满足最低要求的 CPU 平台。
极端永久性磁盘的性能限制
下表列出了受支持的机器类型的性能限制。
| 机器类型 | vCPU 数量 | 最大 IOPS | 最大读取吞吐量 (MB/s) | 最大写入吞吐量 (MB/s) |
|---|---|---|---|---|
| N2 | 64 或 80 (Intel Cascade Lake) | 120,000 | 2,200 | 2,200 |
| 64 或更多 (Intel Ice Lake) | 120,000 | 4000 | 3000 | |
| M2 | 208 | 40000 | 2,200 | 1,200 |
| 416 | 40000 | 2,200 | 1,200 | |
| M3 | 64 或更少 | 40000 | 2,200 | 1,200 |
| 128 | 80,000 | 2,200 | 1,700 |
性能限制和工作负载模式
为了达到极端永久性磁盘卷提供的性能上限,您必须考虑以下工作负载参数:
- I/O 大小:最大 IOPS 限制假定您使用的 I/O 大小为 4 或 8 KB。最大吞吐量限制假定您使用的 I/O 大小为 1 MB。
- 队列长度:队列长度是永久性磁盘的待处理请求数。要达到性能上限,您必须根据工作负载的 I/O 大小、IOPS 和延迟时间敏感程度来调整队列长度。最佳队列长度因每个工作负载而异,但通常应大于 128。
- 工作集大小:工作集大小是在短时间内访问的磁盘数据量。为获得最佳性能,请将工作集大小限制为小于 1.5 TB。
- 同时使用其他永久性磁盘:极端永久性磁盘卷与同一虚拟机上挂接的所有其他永久性磁盘共享每个虚拟机的 IOPS 和吞吐量上限。监控极端永久性磁盘卷的性能时,请将您要发送到同一虚拟机挂接的其他磁盘的所有 I/O 请求考虑在内。
其他限制
- 极端永久性磁盘卷是可用区级的。您无法创建区域级极端永久性磁盘。
- 您无法将只读模式的多个虚拟机实例挂接到一个极端永久性磁盘卷。
- 您无法通过极端永久性磁盘创建映像或机器映像。
- 您在 6 小时内只能调整一次极端永久性磁盘的大小。
吞吐量
对于极端永久性磁盘卷,吞吐量会根据您预配的 IOPS 数量进行扩缩,速率为每个 I/O 256 KB 的吞吐量。但是,吞吐量最终受限于每个实例的限制,具体取决于挂接极端磁盘的虚拟机实例上的 vCPU 数。
极端永久性磁盘卷的吞吐量不是全双工。本文档中列出的最大吞吐量限制适用于读取和写入吞吐量的总和。
预配 IOPS
如需预配 IOPS 以满足您的工作负载要求,请执行以下操作:
- 记下您的工作负载的 IOPS 要求。
- 确定满足工作负载吞吐量要求所需的 IOPS。
- 所需的 IOPS = 每秒吞吐量 (KB)/256
- 将预配 IOPS 设置为两个数字中的较大者。
控制台
- 创建新的永久性磁盘。
- 在磁盘类型下,选择极端永久性磁盘。
- 在预配的 IOPS 下方,选择 IOPS 上限(范围介于 2,500 到 120,000 IOPS 之间)。预配的 IOPS 会产生相关费用。
gcloud
使用 gcloud compute disks create 命令创建新磁盘并添加以下标志:
gcloud compute disks create DISK_NAME \ --size=DISK_SIZE \ --type=pd-extreme \ --provisioned-iops=IOPS_LIMIT
请替换以下内容:
DISK_NAME:新磁盘的名称DISK_SIZE:新磁盘的大小(以 GB 为单位)。极端永久性磁盘卷的默认磁盘大小为 1,000 GB。IOPS_LIMIT:IOPS 上限,范围介于 2,500 到 120,000 IOPS 之间。预配的 IOPS 会产生相关费用。
REST
使用 disks.insert 方法创建新磁盘并添加以下标志:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks
{
"name": "DISK_NAME",
"type": "zones/ZONE/diskTypes/pd-extreme"
"provisionedIops": "IOPS_LIMIT"
}
请替换以下内容:
PROJECT_ID:您的项目 IDZONE:磁盘的目标可用区DISK_NAME:磁盘的名称IOPS_LIMIT:IOPS 上限,范围介于 2,500 到 120,000 IOPS 之间。预配的 IOPS 会产生相关费用。
后续步骤
- 查看磁盘价格信息。
- 查看磁盘性能指标。
- 了解如何向虚拟机添加极端永久性磁盘卷。
- 了解如何克隆 Extreme Persistent Disk 卷。