自定义性能

借助自定义性能,您可以独立于指定的容量来定义 Filestore 实例的性能设置。 这意味着,您可以根据工作负载要求优化 Filestore 实例,并扩缩文件共享以满足应用的需求,而无需调整容量大小。

如果您使用 Google Cloud 控制台创建 Filestore Zonal 和区域级实例,则自定义性能是配置性能的默认机制。

读取和写入 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 控制台

  1. 在 Google Cloud 控制台中,前往实例页面。

    转到实例

  2. 点击实例 ID 以打开实例详情 页面。

  3. 前往概览 标签页,然后找到自定义性能 条目。

    • 不支持 表示特定实例不支持自定义性能。例如,当您创建基本层级实例时,或者当实例是在此功能发布之前创建的。
    • 已启用 表示此实例支持自定义性能并且已启用。
    • 已停用 表示此实例支持自定义性能,但未启用。

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

  1. 安装并初始化 gcloud CLI,以便为 Authorization 标头生成访问令牌。

  2. 使用 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"
      }
    

自定义性能计算

下表显示了基于每个 TiB 预配的 IOPS 和分配的容量的性能计算。这些计算基于不同的容量范围,以显示读取 IOPS、写入 IOPS、读取吞吐量和写入吞吐量的最小值和最大值如何随每个 TiB 的 IOPS 值而变化。

如需了解详情,请参阅本文档的读取和写入 IOPS 部分。

区域级层级的自定义性能示例
每个 TiB 预配的 IOPS 容量 (GiB) 读取 IOPS 写入 IOPS 读取吞吐量 (MiBps) 写入吞吐量 (MiBps)
4,000 100 2,000 600 47 16
600 2,344 703 55 19
1,024 4,000 1,200 94 32
10,239 39,996 11,999 940 320
17,000 100 2,000 600 47 16
600 9,961 2,988 234 80
1,024 17,000 5,100 400 136
10,239 169,983 50,995 3,995 1,360

如需详细了解未启用自定义性能时的性能限制,请参阅性能限制。

监控

如需监控实例 IOPS 使用情况,您可以使用 Metrics Explorer 查看以下指标:read_ops_count、write_ops_count 和 metadata_ops_count。

如需了解详情,请参阅监控实例。

后续步骤