自定义性能

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

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

读取和写入 IOPS

您可以将为文件系统购买的 IOPS 全部用于读写操作。读取和写入操作的权重不同,每次读取操作会占用购买的 IOPS 中的 1 个 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

通过运行 instances describe 命令获取有关 Filestore 实例的信息:

    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)
4000 100 2,000* 600 47 16
600 2,344 703 55 19
1024 4000 1200 94 32
10,239 39,996 11,999 940 320
17,000 100 2000 600 47 16
600 9,961 2,988 234 80
1024 17,000 5,100 400 136
10,239 169,983 50,995 3,995 1,360

* 如果您的实例所在的区域提供小容量实例,则区域级实例容量范围为 100 GiB 到 10,239 GiB。否则,范围为 1 TiB 到 9.75 TiB。如需了解详情,请参阅小容量实例

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

监控

如需监控实例 IOPS 用量,您可以使用 Metrics Explorer 查看以下指标:read_ops_countwrite_ops_countmetadata_ops_count

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

后续步骤