

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

# 性能和优化
<a name="Performance"></a>

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

**Topics**
+ [S3 文件网关网关的基本性能指南](#performance-fgw)
+ [具有多个文件共享的网关的性能指导](#performance-multiple-file-shares)
+ [更大限度地提高 S3 文件网关吞吐量](Performance-Throughput.md)
+ [为 SQL Server 数据库备份优化 S3 文件网关](SQL-Backup-Best-Practices.md)

## S3 文件网关网关的基本性能指南
<a name="performance-fgw"></a>

在本节中，您可以找到为 S3 文件网关 VM 预置硬件的指导。表中列出的实例配置是示例，仅供参考。

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

**注意**  
我们建议您不要使用短暂存储。有关使用短暂存储的更多信息，请参阅[将临时存储与 EC2 网关结合使用](ephemeral-disk-cache.md)。  
对于 Amazon EC2 实例，如果您的 S3 存储桶中有超过 500 万个对象，并且您使用的是通用型固态硬盘卷，则在启动期间，您的网关必须具有 350 GiB 的最小根 EBS 卷，才能实现可接受的性能。有关如何增加卷大小的信息，请参阅[使用弹性卷修改 EBS 卷（控制台）](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/requesting-ebs-volume-modifications.html#modify-ebs-volume)。  
连接到文件网关的文件共享中各个目录的建议大小限制为每个目录 1 万个文件。您可以将文件网关用于包含超过 1 万个文件的目录，但性能可能会受到影响。

在下表中，*缓存命中*读取操作从缓存提供的文件共享中读取。*缓存未命中*读取操作从 Amazon S3 提供的文件共享中读取。

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

### S3 文件网关在 Linux 客户端上的性能
<a name="performance-fgw-linux-clients"></a>



- ** 根磁盘：80 GB，io1 SSD，4000 IOPS 缓存磁盘：512 GiB 缓存，io1，1500 预调配 IOPS 最低网络性能：10 Gbps CPU：16 个 vCPU \| RAM：32 GB 推荐为 Linux 使用 NFS 协议 **
  - **协议:** NFSv3 -1 个话题 / **写入吞吐量（文件大小 1 GB）:** 110 MiB/sec (0.92 Gbps) / **缓存命中读取吞吐量:** 590 MiB/sec (4.9 Gbps) / **缓存未命中读取吞吐量:** 310 MiB/sec (2.6 Gbps)
  - **协议:** NFSv3 -8 个话题 / **写入吞吐量（文件大小 1 GB）:** 160 MiB/sec (1.3 Gbps) / **缓存命中读取吞吐量:** 590 MiB/sec (4.9 Gbps) / **缓存未命中读取吞吐量:** 335 MiB/sec (2.8 Gbps)
  - **协议:** NFSv4 -1 个话题 / **写入吞吐量（文件大小 1 GB）:** 130 MiB/sec (1.1 Gbps) / **缓存命中读取吞吐量:** 590 MiB/sec (4.9 Gbps) / **缓存未命中读取吞吐量:** 295 MiB/sec (2.5 Gbps)
  - **协议:** NFSv4 -8 个话题 / **写入吞吐量（文件大小 1 GB）:** 160 MiB/sec (1.3 Gbps) / **缓存命中读取吞吐量:** 590 MiB/sec (4.9 Gbps) / **缓存未命中读取吞吐量:** 335 MiB/sec (2.8 Gbps)
  - **协议:** SMBV3 -1 个话题 / **写入吞吐量（文件大小 1 GB）:** 115 MiB/sec (1.0 Gbps) / **缓存命中读取吞吐量:** 325 MiB/sec (2.7 Gbps) / **缓存未命中读取吞吐量:** 255 MiB/sec (2.1 Gbps)
  - **协议:** SMBV3 -8 个话题 / **写入吞吐量（文件大小 1 GB）:** 190 MiB/sec (1.6 Gbps) / **缓存命中读取吞吐量:** 590 MiB/sec (4.9 Gbps) / **缓存未命中读取吞吐量:** 335 MiB/sec (2.8 Gbps)

- ** Storage Gateway 硬件设备 最低网络性能：10 Gbps **
  - **协议:** NFSv3 -1 个话题 / **写入吞吐量（文件大小 1 GB）:** 265 MiB/sec (2.2 Gbps) / **缓存命中读取吞吐量:** 590 MiB/sec (4.9 Gbps) / **缓存未命中读取吞吐量:** 310 MiB/sec (2.6 Gbps)
  - **协议:** NFSv3 -8 个话题 / **写入吞吐量（文件大小 1 GB）:** 385 MiB/sec (3.1 Gbps) / **缓存命中读取吞吐量:** 590 MiB/sec (4.9 Gbps) / **缓存未命中读取吞吐量:** 335 MiB/sec (2.8 Gbps)
  - **协议:** NFSv4 -1 个话题 / **写入吞吐量（文件大小 1 GB）:** 310 MiB/sec (2.6 Gbps) / **缓存命中读取吞吐量:** 590 MiB/sec (4.9 Gbps) / **缓存未命中读取吞吐量:** 295 MiB/sec (2.5 Gbps)
  - **协议:** NFSv4 -8 个话题 / **写入吞吐量（文件大小 1 GB）:** 385 MiB/sec (3.1 Gbps) / **缓存命中读取吞吐量:** 590 MiB/sec (4.9 Gbps) / **缓存未命中读取吞吐量:** 335 MiB/sec (2.8 Gbps)
  - **协议:** SMBV3 -1 个话题 / **写入吞吐量（文件大小 1 GB）:** 275 MiB/sec (2.4 Gbps) / **缓存命中读取吞吐量:** 325 MiB/sec (2.7 Gbps) / **缓存未命中读取吞吐量:** 255 MiB/sec (2.1 Gbps)
  - **协议:** SMBV3 -8 个话题 / **写入吞吐量（文件大小 1 GB）:** 455 MiB/sec (3.8 Gbps) / **缓存命中读取吞吐量:** 590 MiB/sec (4.9 Gbps) / **缓存未命中读取吞吐量:** 335 MiB/sec (2.8 Gbps)

- ** 根磁盘：80 GB，io1 SSD，4000 IOPS 缓存磁盘：4 x 2 TB NVME 缓存磁盘 最低网络性能：10 Gbps CPU：32 vCPU \| 内存：244 GB 推荐为 Linux 使用 NFS 协议 **
  - **协议:** NFSv3 -1 个话题 / **写入吞吐量（文件大小 1 GB）:** 300 MiB/sec (2.5 Gbps) / **缓存命中读取吞吐量:** 590 MiB/sec (4.9 Gbps) / **缓存未命中读取吞吐量:** 325 MiB/sec (2.7 Gbps)
  - **协议:** NFSv3 -8 个话题 / **写入吞吐量（文件大小 1 GB）:** 585 MiB/sec (4.9 Gbps) / **缓存命中读取吞吐量:** 590 MiB/sec (4.9 Gbps) / **缓存未命中读取吞吐量:** 580 MiB/sec (4.8 Gbps)
  - **协议:** NFSv4 -1 个话题 / **写入吞吐量（文件大小 1 GB）:** 355 MiB/sec (3.0 Gbps) / **缓存命中读取吞吐量:** 590 MiB/sec (4.9 Gbps) / **缓存未命中读取吞吐量:** 340 MiB/sec (2.9 Gbps)
  - **协议:** NFSv4 -8 个话题 / **写入吞吐量（文件大小 1 GB）:** 575 MiB/sec (4.8 Gbps) / **缓存命中读取吞吐量:** 590 MiB/sec (4.9 Gbps) / **缓存未命中读取吞吐量:** 575 MiB/sec (4.8 Gbps)
  - **协议:** SMBV3 -1 个话题 / **写入吞吐量（文件大小 1 GB）:** 230 MiB/sec (1.9 Gbps) / **缓存命中读取吞吐量:** 325 MiB/sec (2.7 Gbps) / **缓存未命中读取吞吐量:** 245 MiB/sec (2.0 Gbps)
  - **协议:** SMBV3 -8 个话题 / **写入吞吐量（文件大小 1 GB）:** 585 MiB/sec (4.9 Gbps) / **缓存命中读取吞吐量:** 590 MiB/sec (4.9 Gbps) / **缓存未命中读取吞吐量:** 580 MiB/sec (4.8 Gbps)



### Windows 客户端上的文件网关性能
<a name="performance-fgw-windows-clients"></a>



- ** 根磁盘：80 GB，io1 SSD，4000 IOPS 缓存磁盘：512 GiB 缓存，io1，1500 预调配 IOPS 最低网络性能：10 Gbps CPU：16 个 vCPU \| RAM：32 GB 建议为 Windows 使用 SMB 协议 **
  - **协议:** SMBV3 -1 个话题 / **写入吞吐量（文件大小 1 GB）:** 150 MiB/sec (1.3 Gbps) / **缓存命中读取吞吐量:** 180 MiB/sec (1.5 Gbps) / **缓存未命中读取吞吐量:** 20 MiB/sec (0.2 Gbps)
  - **协议:** SMBV3 -8 个话题 / **写入吞吐量（文件大小 1 GB）:** 190 MiB/sec (1.6 Gbps) / **缓存命中读取吞吐量:** 335 MiB/sec (2.8 Gbps) / **缓存未命中读取吞吐量:** 195 MiB/sec (1.6 Gbps)
  - **协议:** NFSv3 -1 个话题 / **写入吞吐量（文件大小 1 GB）:** 95 MiB/sec (0.8 Gbps) / **缓存命中读取吞吐量:** 130 MiB/sec (1.1 Gbps) / **缓存未命中读取吞吐量:** 20 MiB/sec (0.2 Gbps)
  - **协议:** NFSv3 -8 个话题 / **写入吞吐量（文件大小 1 GB）:** 190 MiB/sec (1.6 Gbps) / **缓存命中读取吞吐量:** 330 MiB/sec (2.8 Gbps) / **缓存未命中读取吞吐量:** 190 MiB/sec (1.6 Gbps)

- ** Storage Gateway 硬件设备 最低网络性能：10 Gbps **
  - **协议:** SMBV3 -1 个话题  / **写入吞吐量（文件大小 1 GB）:** 230 MiB/sec (1.9 Gbps) / **缓存命中读取吞吐量:** 255 MiB/sec (2.1 Gbps) / **缓存未命中读取吞吐量:** 20 MiB/sec (0.2 Gbps)
  - **协议:** SMBV3 -8 个话题 / **写入吞吐量（文件大小 1 GB）:** 835 MiB/sec (7.0 Gbps) / **缓存命中读取吞吐量:** 475 MiB/sec (4.0 Gbps) / **缓存未命中读取吞吐量:** 195 MiB/sec (1.6 Gbps)
  - **协议:** NFSv3 -1 个话题 / **写入吞吐量（文件大小 1 GB）:** 135 MiB/sec (1.1 Gbps) / **缓存命中读取吞吐量:** 185 MiB/sec (1.6 Gbps) / **缓存未命中读取吞吐量:** 20 MiB/sec (0.2 Gbps)
  - **协议:** NFSv3 -8 个话题 / **写入吞吐量（文件大小 1 GB）:** 545 MiB/sec (4.6 Gbps) / **缓存命中读取吞吐量:** 470 MiB/sec (4.0 Gbps) / **缓存未命中读取吞吐量:** 190 MiB/sec (1.6 Gbps)

- ** 根磁盘：80 GB，io1 SSD，4000 IOPS 缓存磁盘：4 x 2 TB NVME 缓存磁盘 最低网络性能：10 Gbps CPU：32 vCPU \| 内存：244 GB 建议为 Windows 使用 SMB 协议 **
  - **协议:** SMBV3 -1 个话题 / **写入吞吐量（文件大小 1 GB）:** 230 MiB/sec (1.9 Gbps) / **缓存命中读取吞吐量:** 265 MiB/sec (2.2 Gbps) / **缓存未命中读取吞吐量:** 30 MiB/sec (0.3 Gbps)
  - **协议:** SMBV3 -8 个话题 / **写入吞吐量（文件大小 1 GB）:** 835 MiB/sec (7.0 Gbps) / **缓存命中读取吞吐量:** 780 MiB/sec (6.5 Gbps) / **缓存未命中读取吞吐量:** 250 MiB/sec (2.1 Gbps)
  - **协议:** NFSv3 -1 个话题 / **写入吞吐量（文件大小 1 GB）:** 135 MiB/sec (1.1。 Gbps) / **缓存命中读取吞吐量:** 220 MiB/sec (1.8 Gbps) / **缓存未命中读取吞吐量:** 30 MiB/sec (0.3 Gbps)
  - **协议:** NFSv3 -8 个话题 / **写入吞吐量（文件大小 1 GB）:** 545 MiB/sec (4.6 Gbps) / **缓存命中读取吞吐量:** 570 MiB/sec (4.8 Gbps) / **缓存未命中读取吞吐量:** 240 MiB/sec (2.0 Gbps)



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

## 具有多个文件共享的网关的性能指导
<a name="performance-multiple-file-shares"></a>

Amazon S3 文件网关支持将多达 50 个文件共享连接到单个 Storage Gateway 设备。通过为每个网关添加多个文件共享，您可以在管理更少网关和虚拟硬件资源的同时，支持更多的用户和工作负载。除其他因素外，网关管理的文件共享数量也会影响网关的性能。本节介绍网关性能会如何随着所连接文件共享的数量而变化，并推荐虚拟硬件配置，以优化管理多个共享的网关的性能。

通常，增加单个 Storage Gateway 管理的文件共享数量会带来以下后果：
+ 重新启动网关所需的时间增加。
+ 虚拟硬件资源（例如 vCPU 和 RAM）的利用率升高。
+ 如果虚拟硬件资源饱和，数据和元数据操作的性能会降低。

下表列出了管理多个文件共享的网关的推荐虚拟硬件配置：


| 每个网关的文件共享数 | 推荐的网关容量设置 | 推荐的 vCPU 核心数 | 推荐的 RAM | 推荐的根磁盘大小 | 
| --- | --- | --- | --- | --- | 
|  1-10  | Small |  4（EC2 实例类型 **m4.xlarge** 或更高配置的实例）  |  16 GiB  |  80 GiB  | 
|  10–20  | 中 |  8（EC2 实例类型 **m4.2xlarge** 或更高配置的实例）  |  32 GiB  |  160 GiB  | 
|  20\+  | 大型 |  16（EC2 实例类型 **m4.4xlarge** 或更高配置的实例）  |  64 GiB  |  240 GiB  | 

除了上面推荐的虚拟硬件配置外，我们还推荐按照以下最佳实践来配置和维护管理多个文件共享的 Storage Gateway 设备：
+ 请注意，文件共享数量与网关虚拟硬件需求之间的关系不一定是线性的。某些文件共享可能会产生比其他文件共享更大的吞吐量，因此对硬件的需求也更高。上表中的建议基于最大硬件容量和各种文件共享吞吐量级别。
+ 如果您发现向单个网关添加多个文件共享会降低性能，请考虑将最活跃的文件共享移至其他网关。特别是，如果 very-high-throughput应用程序使用文件共享，请考虑为该文件共享创建一个单独的网关。
+ 我们不建议为多个高吞吐量应用程序配置一个网关，而为多个低吞吐量应用程序配置另一个网关。相反，请尝试在网关之间均匀分布高吞吐量和低吞吐量文件共享，以平衡硬件饱和度。要测量文件共享的吞吐量，请使用 `ReadBytes` 和 `WriteBytes` 指标。有关更多信息，请参阅[了解文件共享指标](https://docs.aws.amazon.com/filegateway/latest/files3/monitoring-file-gateway.html#monitoring-file-gateway-resources)。