View a markdown version of this page

性能和优化 - AWS Storage Gateway

不再向新客户提供 Amazon FSx 文件网关。FSx 文件网关的现有客户可以继续正常使用该服务。有关与 FSx 文件网关类似的功能,请访问此博客文章。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

性能和优化

本节介绍优化文件网关性能的指导和最佳实践。

的基本性能指南

在本节中,您可以找到有关为 FSx 文件网关虚拟机配置硬件的指南。表中列出的实例配置是示例,仅供参考。

为获得最佳性能,必须将缓存磁盘大小调整为活动工作集的大小。使用多个本地磁盘进行缓存时,可以通过并行访问数据来提高写入性能,从而提高 IOPS。

注意

我们建议您不要使用短暂存储。有关使用短暂存储的更多信息,请参阅将临时存储与 EC2 网关结合使用。

连接到文件网关的文件系统中各个目录的建议大小限制为每个目录 1 万个文件。您可以将文件网关用于包含超过 1 万个文件的目录,但性能可能会受到影响。

在下表中,缓存命中读取操作从缓存提供的文件数据中读取。缓存未读操作是从 Amazon for Windows 文件服务器提供的文件数据中读 FSx 取的。

下表显示了 FSx 文件网关配置示例。

FSx Windows 客户端上的文件网关性能

示例配置 协议 写入吞吐量(文件大小 1 GB) 缓存命中读取吞吐量 缓存未命中读取吞吐量

根磁盘:80 GB,io1 SSD,4000 IOPS

缓存磁盘:2 x 2 TiB NVME

最低网络性能:10 Gbps

CPU:32 vCPU | 内存:244 GB

SMBv3 -1 个话题 162 MiB/sec (1.4 Gbps) 403 MiB/sec (3.4 Gbps) 288 MiB/sec (2.4 Gbps)
SMBv3 -8 个话题 511 MiB/sec (4.3 Gbps) 571 MiB/sec (4.8 Gbps) 567 MiB/sec (4.8 Gbps)
注意

您的性能可能因主机平台配置和网络带宽而异。写入吞吐量性能会随着文件大小增大而降低,小文件(小于 32MiB)可实现的最高吞吐量为每秒 16 个文件。

优化网关性能

您可以在下面找到有关如何优化网关性能的信息。向网关添加资源以及向应用程序服务器添加资源是这些指导的基础。

在网关中添加资源

您可以使用以下一种或多种方法在网关中添加资源以优化网关性能。

使用更高性能的磁盘

要优化网关性能,您可以添加高性能磁盘,例如固态硬盘 (SSDs) 和控制器。 NVMe 您还可以直接从存储区域网络 (SAN) 而不是 Microsoft Hyper-V NTFS 将虚拟磁盘连接到 VM。磁盘性能的提高通常会带来更好的吞吐量和更多的每秒 input/output 操作次数 (IOPS)。有关添加磁盘的信息,请参阅配置额外的缓存存储。

要测量吞吐量,请将 ReadBytes 和 WriteBytes 指标与 Samples Amazon CloudWatch 统计数据结合使用。例如,5 分钟的采样周期内的 Samples 指标的 ReadBytes 统计数据除以 300 秒可以得出 IOPS。一般来说,查看网关的这些指标时,应注意低吞吐量和低 IOPS 趋势,以便显示与磁盘相关的瓶颈。

注意

CloudWatch 并非所有网关都提供指标。有关网关指标的信息,请参阅监控您的 文件网关。

添加 CPU 资源到您的网关主机

网关主机服务器的最低要求是四个虚拟服务器。要优化网关性能,请确认分配给网关 VM 的四个虚拟处理器由四个内核提供支持。此外,请确认您没有超额订阅主机 CPUs 服务器的。

CPUs 向网关主机服务器添加其他内容时,可以提高网关的处理能力。这样一来,您的网关就可以并行处理将应用程序中的数据存储到本地存储以及将这些数据上传到适用FSx 于 Windows 文件服务器的 文件服务器。其他 CPUs 功能还有助于确保您的网关在与其他主机共享主机时获得足够的 CPU 资源 VMs。提供足够的 CPU 资源通常能取得增加吞吐量的效果。

Storage Gateway 支持 CPUs 在网关主机服务器中使用 24。您可以使用 24 CPUs 来显著提高网关的性能。我们建议您对网关主机服务器使用以下网关配置:

  • 24 CPUs。

  • 16 GiB 预留 RAM 用于文件网关

    • 对于缓存大小不超过 16 TiB 的网关,预留 16 GiB 的 RAM

    • 对于缓存大小为 16 TiB 至 32 TiB 的网关,预留 32 GiB 的 RAM

    • 对于缓存大小为 32 TiB 至 64 TiB 的网关,预留 48 GiB 的 RAM

  • 磁盘 1 附加到半虚拟化控制器 1,将按如下方式用作网关缓存:

    • 使用 NVMe 控制器的固态硬盘。

  • 在虚拟机网络 1 上配置网络适配器 1:

    • 使用虚拟机网络 1 并添加 VMXnet3 (10 Gbps) 以用于摄取。

  • 在虚拟机网络 2 上配置网络适配器 2:

    • 使用虚拟机网络 2 并添加 VMXnet3 (10 Gbps) 以用于连接。 AWS

使用独立物理磁盘支持网关虚拟磁盘

在预置网关磁盘时,我们强烈建议您不要为使用相同底层物理存储磁盘的本地存储预置本地磁盘。例如,对于 VMware ESXi,底层物理存储资源表示为数据存储。部署网关 VM 时,您可选择用来存储 VM 文件的数据存储。在预置虚拟磁盘时(例如,作为上传缓冲区),您可以将虚拟磁盘存储在与 VM 相同的数据存储中,也可以将其存储在不同的数据存储中。

如果您有多个数据存储,则强烈建议为要创建的每个类型的本地存储选择一个数据存储。仅由一个底层物理磁盘支持的数据存储可能会导致性能下降。例如,在使用此类磁盘同时支持网关设置中的缓存存储和上传缓冲区时。同样,由性能不太高的 RAID 配置(如 RAID 1)支持的数据存储可能会导致性能下降。

向应用程序环境添加资源

提高应用程序服务器和网关之间的带宽

要优化网关性能,请确保应用程序和网关之间的网络带宽可满足您的应用程序需求。您可以使用网关的 ReadBytes 和 WriteBytes 指标来测量总数据吞吐量。

对于您的应用程序,请将测得的吞吐量与所需的吞吐量进行比较。如果测得吞吐量小于预期吞吐量,那么如果网络是瓶颈,提高应用程序和网关间的带宽可改善性能。同样地,您可以增加 VM 和本地磁盘之间的带宽 (如果它们不是直接连接的)。

向应用程序环境添加 CPU 资源

如果您的应用程序可以使用额外的 CPU 资源,那么添加更多 CPU 资源 CPUs 可以帮助您的应用程序扩展其 I/O 负载。

文件网关上的某些 FSx 文件操作(例如顶级文件夹重命名或权限更改)可能会导致多个文件操作,从而导致您 FSx 的 Windows 文件服务器文件系统 I/O 负载过高。如果您的文件系统没有足够的性能资源来处理您的工作负载,则文件系统可能会删除卷影副本,因为它优先考虑持续的可用性 I/O 而不是历史卷影副本的保留。

在 Amazon FSx 控制台中,查看监控和性能页面,查看您的文件系统是否配置不足。如果是,您可以切换到 SSD 存储、增加吞吐能力或增加 SSD IOPS 来处理您的工作负载。