优化性能

本页介绍了如何通过调整卷和客户端配置来优化 Google Cloud NetApp Volumes 性能。这些调整可提高吞吐量、缩短延迟时间,并提高应用的整体数据传输效率。

准备工作

在更改卷以优化性能之前,请先查看性能注意事项

调整音量设置

您可以通过调整以下音量设置来优化性能:

  • 增加卷容量:您可以增加 Premium、Extreme 或 Standard 服务等级卷的容量,以提高可实现的最大卷吞吐量。对于服务等级为“Flex File”的卷,请改为增加存储池的容量。对于 Flex Unified 或 Flex File 自定义性能,请增加存储池的吞吐量和 IOPS。

  • 升级服务等级:您可以将服务等级为“Premium”的卷移至服务等级为“Extreme”的存储池,以提高吞吐量。

  • 使用手动 QoS 池分配更高的吞吐量:您可以降低吞吐量要求较低的较大卷的分配吞吐量,并提高需要更高性能的较小卷的吞吐量,最高可达到可用的池吞吐量。

增加卷容量和升级服务级别都不会中断卷上正在进行的 I/O 工作负载,也不会以任何方式影响对卷的访问。

调整客户端

您可以通过调整客户端上的以下设置来提升性能:

  • 将客户端放在同一位置:延迟时间结果直接受客户端的功能和位置影响。为获得最佳结果,请将客户端放在与卷相同的区域或尽可能靠近卷的区域。通过测试每个可用区中客户端的延迟时间来测试可用区的影响,并使用延迟时间最短的可用区。

  • 配置 Compute Engine 网络带宽:Compute Engine 虚拟机的网络功能取决于所用的实例类型。通常,较大的实例可以实现更高的网络吞吐量。建议您选择具有适当网络带宽功能的客户端虚拟机,选择 Google 虚拟 NIC (gVNIC) 网络接口,并启用 Tier_1 性能。如需了解详情,请参阅 Compute Engine 文档中的网络带宽

  • 优化客户端设置:对于 Linux 客户端,请参阅优化 Linux NFS 客户端

手动 QoS

借助 NetApp Volumes 中的手动服务质量 (QoS),您可以调整卷性能以满足工作负载要求并控制存储费用。

手动设置服务质量具有以下优势:

  • 优化费用:在存储池容量范围内扩缩卷性能,以优化云费用。

  • 即时调整吞吐量:调整卷吞吐量,而无需停机。

  • 降低灾难恢复成本:降低复制卷的 QoS,以减少目标池的灾难恢复成本。

  • 提升克隆或缓存的性能:提高分配大小较小的克隆或缓存卷的性能。

  • 灵活的工作负载管理:使用较大的存储池作为多个工作负载的容器,并根据需要调整每个卷的吞吐量。

注意事项

  • 您可以使用 Google Cloud CLI、NetApp Volumes API 或 Terraform 管理手动 QoS。不支持使用 Google Cloud 控制台。

  • Flex Unified、Standard、Premium 和 Extreme 服务等级支持手动 QoS,但 Flex File 服务等级不支持。

设置手动 QoS 限制

对于手动 QoS 存储池中的卷,您可以单独设置吞吐量和容量。手动 QoS 池中所有卷的总吞吐量受池的总吞吐量限制。池吞吐量由其分配的容量和服务等级决定。例如,一个 40 TiB 的 Premium 池可以实现 2,560 MiBps 的最大吞吐量(每 TiB 64 MiBps),而一个 200 TiB 的 Extreme 池可以支持总吞吐量为 25,600 MiBps 的卷。

设置手动 QoS 池后,您可以为其中的每个卷设置所需的吞吐量限制。单个卷的最大吞吐量上限为 4.5 GiBps,大容量卷的最大吞吐量上限为 30 GiBps。

池和卷命令或 API 会显示池的可用吞吐量和分配的吞吐量值,以帮助您管理总吞吐量。如需创建手动 QoS 池并定义卷吞吐量,请参阅创建存储池创建卷

创建存储池

gcloud

使用手动 QoS 创建存储池:

    gcloud netapp storage-pools create POOL_NAME \
       --project=PROJECT_ID \
       --location=LOCATION \
       --capacity=CAPACITY \
       --service-level=SERVICE_LEVEL \
       --qos-type=QOS_TYPE \
       --network=name=NETWORK_NAME

替换以下信息:

  • POOL_NAME:您要创建的池的名称。您的池名称在每个位置都必须是唯一的。

  • PROJECT_ID:您要在其中创建存储池的项目的名称。

  • LOCATION:要创建的池的位置。

  • CAPACITY:相应池的容量(以 GiB 为单位)。

  • SERVICE_LEVEL:存储池的服务等级:Standard、Premium 或 Extreme。

  • QOS_TYPE:存储池的 QoS 类型:自动或手动。

  • NETWORK_NAME:VPC 的名称。

修改存储池

gcloud

修改现有自动 QoS 存储池以使用手动 QoS:

    gcloud netapp storage-pools update POOL_NAME \
       --project=PROJECT_ID \
       --location=LOCATION \
       --qos-type=QOS_TYPE

替换以下信息:

  • POOL_NAME:您要更新的池的名称。

  • PROJECT_ID:项目的名称。

  • LOCATION:池的位置。

  • QOS_TYPE:存储池的更新后 QoS 类型。仅支持手动配置。

创建卷

gcloud

使用以下命令创建具有指定手动 QoS 吞吐量限制的卷:

gcloud netapp volumes create VOLUME_NAME \
  --project=PROJECT_ID \
  --location=LOCATION \
  --storage-pool=STORAGE_POOL \
  --capacity=CAPACITY \
  --protocols=PROTOCOLS \
  --share-name=SHARE_NAME \
  --throughput-mibps=THROUGHPUT_MIBPS

替换以下信息:

  • VOLUME_NAME:卷的名称。此名称在每个位置都必须是唯一的。

  • PROJECT_ID:要在其中创建卷的项目的名称。

  • LOCATION:卷的位置。

  • STORAGE_POOL:要在其中创建卷的存储池。

  • CAPACITY:卷的容量。它定义了 NAS 客户端看到的容量。

  • PROTOCOLS:选择导出卷时使用的 NAS 协议。有效选项包括 NFSv3、NFSv4、SMB 以及以下组合:

    • nfsv3,nfsv4
    • nfsv3,smb
    • nfsv4,smb

    根据您选择的协议类型,我们建议您添加特定于协议的参数,例如 export-policysmb-settings

  • SHARE_NAME:卷的 NFS 导出路径或 SMB 共享名称。

  • THROUGHPUT_MIBPS:卷的吞吐量限制(以 MiBps 为单位)。

如需详细了解其他可选标志,请参阅 Google Cloud SDK 关于创建卷的文档

后续步骤

了解卷迁移