本页介绍了如何通过调整卷和客户端配置来优化 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,nfsv4nfsv3,smbnfsv4,smb
根据您选择的协议类型,我们建议您添加特定于协议的参数,例如
export-policy或smb-settings。SHARE_NAME:卷的 NFS 导出路径或 SMB 共享名称。THROUGHPUT_MIBPS:卷的吞吐量限制(以 MiBps 为单位)。
如需详细了解其他可选标志,请参阅 Google Cloud SDK 关于创建卷的文档。
后续步骤
了解卷迁移。