借助自定义性能,您可以独立于指定的容量为 Filestore 实例定义性能设置。 这意味着,您可以根据工作负载要求优化 Filestore 实例,并扩缩文件共享以满足应用的需求,而无需调整容量大小。
如果您使用 Google Cloud 控制台创建 Filestore 可用区级和区域级实例, 自定义性能是配置性能的默认机制。
读取和写入 IOPS
您可以将为文件系统购买的 IOPS 的 100% 用于读取和写入操作。读取和写入操作的权重不同,每次读取操作会从购买的 IOPS 中占用一个操作,而写入操作会从购买的 IOPS 中占用 3.33 个 IOPS。
例如,如果您的文件系统将购买的 IOPS 的 33% 用于读取操作,则它可以同时将购买的 IOPS 的 67% 用于写入操作,并根据每次写入 3.33 的比率利用购买的 IOPS。
无论容量范围或服务层级是区域级还是可用区级,自定义性能都支持每 1,000 个购买的 IOPS 最多 100 个客户端连接。
从复制的数据(例如 备份 操作)中累积的 IOPS 不计入用户购买的 IOPS。
IOPS 计算示例
假设您购买了 4,000 个 IOPS:
- 如果您想将它们用于读取 IOPS,则最多可以访问 4,000 个读取 IOPS。
- 如果您想将它们用于写入 IOPS,则最多可以访问 1,200 个写入 IOPS。
- 如果您想使用 900 个 IOPS 进行写入操作,则实际上会使用 3,000 个 IOPS 预算,剩余 1,000 个 IOPS 用于读取操作。
如果您需要更多 IOPS 或吞吐量,可以提高购买的 IOPS 速率。
配置自定义性能
您可以为已支持自定义性能的可用区级和区域级实例设置自定义性能。基本层级不支持此功能。
自定义性能实例的计费方式与未配置自定义性能的实例不同。如需了解详情,请参阅 Filestore 价格。
您可以通过以下方式配置自定义性能:
- 设置 IOPS/TiB 比率,其中 IOPS 会随着实例大小线性扩缩。
- 设置固定 IOPS 速率。无论实例大小如何,该速率都是稳定的。
在 Google Cloud 控制台中创建实例时,系统会默认启用自定义性能 ,以便您根据工作负载 和规模配置性能。如果您未提供特定的 IOPS 值,系统会使用建议的默认速率。您可以选择停用自定义性能,但必须在创建实例之前执行此操作,因为该设置是永久性的,以后无法更改。
如需详细了解如何设置自定义性能,请参阅创建实例。
如需详细了解 GKE 中的自定义性能,请参阅 Filestore CSI 驱动程序。
查看自定义性能状态
如果您想查看自定义性能状态,请按照以下说明操作:
Google Cloud 控制台
在 Google Cloud 控制台中,前往实例页面。
点击实例 ID 以打开实例详情 页面。
前往概览 标签页,然后找到自定义性能 条目。
- 不支持 表示特定实例不支持自定义性能。例如,当您创建基本层级实例时,或者在推出该功能之前创建实例时。
- 已启用 表示此实例支持自定义性能并且已启用。
- 已停用 表示此实例支持自定义性能,但未启用。
gcloud
如需获取有关 Filestore 实例的信息,请运行
instances describe
命令:
gcloud filestore instances describe INSTANCE_ID --project=PROJECT_ID --location=LOCATION
输出可能会因实例设置而异。以下是一个输出示例:
createTime: '2021-10-11T17:28:23.340943077Z'
customPerformanceSupported: true
fileShares:
- capacityGb: '1024'
name: vol1
kmsKeyName: projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key
labels:
key:val
name: projects/yourproject/locations/us-central1/instances/nfs-server
networks:
- ipAddresses:
- 10.0.0.2
network: default
reservedIpRange: 10.0.0.0/26
performanceConfig:
iopsPerTb:
maxIopsPerTb: '17000'
performanceLimits:
maxIops: '17000'
maxReadIops: '17000'
maxReadThroughputBps: '417792000'
maxWriteIops: '5100'
maxWriteThroughputBps: '139264000'
state: READY
tier: REGIONAL
如果存在
customPerformanceSupported参数且设置为true,则表示此实例支持自定义性能。如果不存在该标志,则表示不支持自定义性能。如果存在
performanceConfig参数,则表示此实例已启用自定义性能。
REST API
使用
cURL调用 Filestore API:curl -s \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Content-Type: application/json" \ GET "https://file.googleapis.com/v1beta1/projects/PROJECT/locations/LOCATION/instances/INSTANCE_NAME"
其中:
PROJECT是实例所在项目的名称。例如,my-project。LOCATION是实例所在的地区。例如,us-central1-a。INSTANCE_NAME是您要查看的实例的名称。例如,nfs-server。
如果提供的实例支持自定义性能并已配置,则响应将包含以下参数:
"customPerformanceSupported": true, "performanceConfig": { "fixedIops": { "maxIops": "9000" } }, "performanceLimits": { "maxReadIops": "9000", "maxWriteIops": "2700", "maxReadThroughputBps": "221184000", "maxWriteThroughputBps": "73728000", "maxIops": "9000" }
监控
如需监控实例 IOPS 使用情况,您可以使用 Metrics Explorer 查看以下指标:read_ops_count、write_ops_count 和 metadata_ops_count。
如需了解详情,请参阅监控实例。
后续步骤
- 详细了解 Filestore 性能
- 测试性能
- 排查与性能相关的问题
- 扩缩容量