实例性能

本页介绍了 Filestore 实例的性能限制,以及推荐的性能设置和测试选项。

每个 Filestore 服务层级都提供不同级别的性能,这些性能可能会因缓存的使用、客户端虚拟机的数量、客户端虚拟机的机器类型以及测试的工作负载等因素而异。

下表列出了为每个服务层级设置最小容量和最大容量时可以达到的最大性能。

所有表格值均为估算值,未必能实现。如需了解自定义性能设置和限制,请参阅自定义性能限制

每个服务层级在最小容量和最大容量时的性能限制
服务层级 容量 读取 IOPS 写入 IOPS 读取吞吐量 (MiBps) 写入吞吐量 (MiBps) 支持自定义性能
BASIC_HDD 1 TiB 到 10 TiB 600 1000 100 100
10 TiB 到 63.9 TiB 1000 5000 180 120
BASIC_SSD 2.5 TiB 到 63.9 TiB 60000 25000 1200 350
区域 1 TiB 9,200 2,600 260 88
9.75 TiB 89,700 25,350 2,535 858
10 TiB 92,000 26,000 2,600 880
100 TiB 920,000 260,000 26,000 8,800
REGIONAL 1 TiB 12000 4000 120 100
9.75 TiB 117,000 39,000 1,170 975
10 TiB 92,000 26,000 2,600 880
100 TiB 920,000 260,000 26,000 8,800
ENTERPRISE 1 TiB 12000 4000 120 100
10 TiB 120,000 40000 1200 1000

性能扩缩

性能会随容量线性扩缩,但不会超出上表中列出的性能限制。例如,如果您将企业实例容量从 1 TB 增加到 2 TB,则实例的性能上限也会从 12,000/4,000 次读取/写入 IOPS 增加到 24,000/8,000 次读取/写入 IOPS。

在使用一个客户端和使用少量客户端的场景中,您必须使用 nconnect 装载选项增加 TCP 连接数量才能达到最佳 NFS 性能。

对于特定服务层级,我们建议指定客户端和服务器之间的连接数量如下:

层级 容量 连接数
区域、可用区 1-9.75 TiB nconnect=2
区域、可用区 10-100 TiB nconnect=7
企业 - nconnect=2
大规模 SSD - nconnect=7

一般来说,文件共享容量越大,连接的客户端虚拟机越少,通过使用 nconnect 指定额外连接即可提升性能。

自定义性能

设置自定义性能,以便根据工作负载需求配置性能,而不受指定容量的影响。您可以指定每 TiB 的 IOPS 比率,也可以设置固定的 IOPS 数量。如需了解详情,请参阅自定义效果

推荐的客户端机器类型

我们建议使用 Compute Engine 机器类型(例如 n2-standard-8),其出站流量带宽为 16 Gbps。这样,客户端便可以为容易缓存的工作负载实现大约 16 Gbps 的读取带宽。如需了解更多背景信息,请参阅网络带宽

Linux 客户端装载选项

建议使用以下 NFS 装载选项,尤其是使用 hard 装载,async,以及 rsizewsize 选项,以便在 Linux 客户端虚拟机实例上实现最佳性能。如需详细了解 NFS 装载选项,请参阅 nfs

默认选项 说明
hard NFS 客户端无限期地重试 NFS 请求。
timeo=600 NFS 客户端会等待 600 分秒(60 秒)后再重试 NFS 请求。
retrans=3 NFS 客户端会尝试 NFS 请求三次,再执行进一步的恢复操作。
rsize=524288 对于每个 READ 请求,NFS 客户端最多可以从 NFS 服务器接收 524,288 个字节。
注意:对于基础层级实例,请将 rsize 值设置为 1048576
wsize=1048576 对于每个 WRITE 请求,NFS 客户端最多可以向 NFS 服务器发送 1048576 个字节 (1 MiB)。
resvport 与 NFS 服务器就此装载装点进行通信时,NFS 客户端会使用特权源端口。
async NFS 客户端延迟向 NFS 服务器发送应用程序写入,直到满足某些条件。
注意:使用 sync 选项会大大降低性能。

单个客户端虚拟机和多个客户端虚拟机的性能

Filestore 的可伸缩服务层针对多个客户端虚拟机(而非单个客户端虚拟机)进行了性能优化。

对于可用区实例、区域实例和企业实例,至少需要四个客户端虚拟机才能充分发挥性能。这可确保充分利用底层 Filestore 集群中的所有虚拟机。

如需了解更多背景信息,最小的可伸缩 Filestore 集群包含四个虚拟机。无论使用 nconnect 挂载选项指定每个客户端的 NFS 连接数量如何,每个客户端虚拟机都只与一个 Filestore 集群虚拟机通信。如果使用单个客户端虚拟机,则读写操作仅从单个 Filestore 集群虚拟机执行。

提升各 Google Cloud 资源的性能

跨多个资源执行的操作(例如使用 gcloud CLI 将数据从 Cloud Storage 复制到 Filestore 实例)的速度可能会很慢。 Google Cloud 为帮助缓解性能问题,请尝试以下方法:

  • 确保 Cloud Storage 存储分区、客户端虚拟机和 Filestore 实例都位于同一区域

    双区域是存储在 Cloud Storage 中的数据的最佳性能选项。如果使用此选项,请确保其他资源位于双区域中包含的一个单个区域中。例如,如果您的 Cloud Storage 数据位于 us-central1,us-west1,请确保您的客户端虚拟机和 Filestore 实例位于 us-central1

  • 为方便参考,请验证已挂接 PD 的虚拟机的性能,并将其与 Filestore 实例的性能进行比较。

    • 如果与 Filestore 实例相比,连接到 PD 的虚拟机的性能相近或更慢,则可能表明存在与 Filestore 无关的性能瓶颈。如需提高非 Filestore 资源的基准性能,您可以调整与并行复合上传相关联的 gcloud CLI 属性。如需了解详情,请参阅工具和 API 如何使用并行复合上传
    • 如果 Filestore 实例的性能明显低于挂接了
      PD 的虚拟机,请尝试将操作分布到多个虚拟机上。

    • 这有助于提高从 Cloud Storage 执行读取操作的性能。

    • 对于区域实例、区域实例和企业实例,至少需要四个客户端虚拟机才能充分发挥性能。这可确保充分利用底层 Filestore 集群中的所有虚拟机。如需了解详情,请参阅单个客户端虚拟机性能和多个客户端虚拟机性能

后续步骤