排查性能缓慢问题

本页面介绍了问题排查信息,有助于解决使用 Filestore 时可能遇到的性能缓慢问题。

读取或写入速度缓慢

  1. 确保您的客户端虚拟机使用的是推荐的机器类型
  2. 如果您的客户端虚拟机运行的是 Linux,请确认您使用的是默认装载选项

  3. 确保客户端虚拟机与 Filestore 实例位于同一地区。跨地区装载不仅会降低性能,还会导致产生网络费用

  4. 请确保您的 Filestore 实例没有达到或接近容量上限。当容量接近上限时,任何剩余的空间都会被高度碎片化,导致读取和写入操作的速度变慢。避免此状况所需要的可用空间量取决于实际情况。我们建议您设置“磁盘空间不足”提醒

  5. 使用 fio 工具测试 Filestore 实例的性能

    如果测试结果显示异常的性能下降,请联系您的客户代表。如果测试结果显示性能等于或高于预期,请继续查看下一部分。

导致性能下降的用例

以下是一些导致性能不佳的用例和场景:

涉及大量小文件的工作负载

Filestore 文件共享使用 sync 导出选项来确保数据安全和 NFS 协议合规性。对于大多数数据修改操作,Filestore 实例会等待数据提交到存储,然后再回复来自客户端虚拟机的请求。如果操作中涉及许多文件,客户端会执行一长串同步操作,从而导致累计延迟时间增加。

此场景的一个示例是,解压缩文件共享上的归档文件(如 tar 文件)。在解压缩包含多个文件的归档文件时,TAR 会连续执行多个同步操作。因此,性能会降低。

如果您要将许多小文件复制到一个文件共享,请尝试使用 gsutil 等工具并行创建文件:

mkdir -p /mnt/nfs/many_files_rsync/
time gsutil -m -q rsync -rp many_files /mnt/nfs/many_files_rsync/

在 Cloud Storage 和 Filestore 之间复制数据

已知使用 gsutil 将数据从 Cloud Storage 复制到 Filestore 实例的速度较为缓慢。如需详细了解如何提高性能,请参阅提高各项 Google Cloud 资源的性能

后续步骤