

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

# 卷网关的性能和优化
<a name="Performance"></a>

本节介绍了 Storage Gateway 性能。

**Topics**
+ [优化网关性能](#Optimizing-common)

## 优化网关性能
<a name="Optimizing-common"></a>

### 推荐的网关服务器配置
<a name="Recommended-vtl-resources-common"></a>

为了使您的网关发挥最佳性能，Storage Gateway 建议您的网关主机服务器采用以下网关配置：
+ 至少 24 个专用的物理 CPU 核心
+ 对于卷网关，您的硬件应使用以下数量的 RAM：
  + 对于缓存大小不超过 16 TiB 的网关，至少预留 16 GiB 的 RAM
  + 对于缓存大小为 16 TiB 至 32 TiB 的网关，至少预留 32 GiB 的 RAM
  + 对于缓存大小为 32 TiB 至 64 TiB 的网关，至少预留 48 GiB 的 RAM
+ 磁盘 1，用作网关缓存，如下所示：
  + 使用 NVMe 控制器的固态硬盘。
+ 磁盘 2，用作网关上传缓冲区，如下所示：
  + 使用 NVMe 控制器的固态硬盘。
+ 磁盘 3，用作网关上传缓冲区，如下所示：
  + 使用 NVMe 控制器的固态硬盘。
+ 在虚拟机网络 1 上配置网络适配器 1：
  + 使用虚拟机网络 1 并添加 VMXnet3 (10 Gbps) 以用于摄取。
+ 在虚拟机网络 2 上配置网络适配器 2：
  + 使用虚拟机网络 2 并添加 VMXnet3 (10 Gbps) 以用于连接。 AWS

### 在网关中添加资源
<a name="Optimizing-vtl-add-resources-common"></a>

以下瓶颈可能会使的性能降至理论最大持续吞吐量（通往 AWS 云的带宽）以下：
+ CPU 核心数
+ 缓存/上传缓冲区磁盘吞吐量
+ RAM 总量
+ 网络带宽至 AWS
+ 从启动程序到网关的网络带宽

本节介绍为优化网关性能而可以采取的步骤。向网关或应用程序服务器添加资源是这些指导的基础。

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

**使用更高性能的磁盘**  
缓存和上传缓冲区磁盘吞吐量会限制网关的上传和下载性能。如果您的网关表现出的性能明显低于预期，请考虑通过以下方式提高缓存和上传缓冲区磁盘吞吐量：  
+ 使用条带化 RAID（例如 RAID 10）来提高磁盘吞吐量，最好使用硬件 RAID 控制器。
**注意**  
RAID（独立磁盘冗余阵列）或专门的磁盘条带化 RAID 配置（如 RAID 10）是将数据主体划分为块并将数据块分布到多个存储设备的过程。您使用的 RAID 级别会影响您可以达到的确切速度和容错能力。通过将 IO 工作负载划分到多个磁盘上，RAID 设备的总体吞吐量远高于任何单个成员磁盘的吞吐量。
+ 使用直接连接的高性能磁盘

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

  要衡量吞吐量，请将`ReadBytes`和`WriteBytes`指标与 `Samples` Amazon CloudWatch 统计数据结合使用。例如，5 分钟的采样周期内的 `Samples` 指标的 `ReadBytes` 统计数据除以 300 秒可以得出 IOPS。一般来说，查看网关的这些指标时，应注意低吞吐量和低 IOPS 趋势，以便显示与磁盘相关的瓶颈。。
**注意**  
CloudWatch 并非所有网关都提供指标。有关网关指标的信息，请参阅[监控 Storage Gateway](Main_monitoring-gateways-common.md)。

**添加更多上传缓冲区磁盘**  
要实现更高的写入吞吐量，请添加至少两个上传缓冲区磁盘。当数据写入网关时，系统会将其写入并本地存储在上传缓冲区磁盘上。之后，将从待处理和上传到 AWS的磁盘中异步读取存储的本地数据。添加更多上传缓冲区磁盘可能会减少对每个磁盘执行的并发 I/O 操作量。这可以增加网关的写入吞吐量。

 **使用独立物理磁盘支持网关虚拟磁盘**  
在预配置网关磁盘时，我们强烈建议您*不要*为使用相同底层物理存储磁盘的上传缓冲区和缓存存储预配置本地磁盘。例如，对于 VMware ESXi，底层物理存储资源表示为数据存储。部署网关 VM 时，您可选择用来存储 VM 文件的数据存储。在预置虚拟磁盘时（例如，作为上传缓冲区），您可以将虚拟磁盘存储在与 VM 相同的数据存储中，也可以将其存储在不同的数据存储中。  
如果您有多个数据存储，则强烈建议为要创建的每个类型的本地存储选择一个数据存储。仅由一个底层物理磁盘支持的数据存储可能会导致性能下降。例如，在使用此类磁盘同时支持网关设置中的缓存存储和上传缓冲区时。同样，采用性能不太高的 RAID 配置（如 RAID 1 或 RAID 6）的数据存储可能会导致性能下降。

**添加 CPU 资源到您的网关主机**  
网关主机服务器的最低要求是四个虚拟服务器。要优化网关性能，请确认分配给网关 VM 的每个虚拟处理器均采用一个专用的 CPU 内核。此外，请确认您没有超额订阅主机 CPUs 服务器的。  
 CPUs 向网关主机服务器添加其他内容时，可以提高网关的处理能力。通过执行该操作，您的网关可以并行处理将应用程序中的数据存储到本地存储以及将该数据上传到 Amazon S3 的过程。其他 CPUs 功能还有助于确保您的网关在与其他主机共享主机时获得足够的 CPU 资源 VMs。提供足够的 CPU 资源通常能取得增加吞吐量的效果。

**增加网关和 AWS 云之间的带宽**  
增加进出带宽 AWS 将提高进入网关和输出到 AWS 云端的最大数据速率。如果网速是网关配置中的限制因素，而不是磁盘速度慢或网关启动程序连接带宽不足等其他因素，那么这样可以提高网关性能。  
由于此处列出的其他限制因素，例如 cache/upload 缓冲区磁盘吞吐量、CPU 内核数、总 RAM 量或启动器和网关之间的带宽，您观察到的网关性能可能会低于您的网络带宽。此外，网关的正常运行涉及为保护数据而执行的许多操作，这可能会导致观察到的性能低于您的网络带宽。

**更改卷配置**  
对于卷网关，如果您发现向网关添加更多的存储卷会降低到网关的吞吐量，则应考虑将卷添加到单独的网关。具体而言，如果卷用于高吞吐量应用程序，则应考虑为高吞吐量应用程序另行创建网关。但一般而言，您不应该将一个网关用于所有的高吞吐量应用程序，另一个网关用于所有的低吞吐量应用程序。要测量卷吞吐量，请使用 `ReadBytes` 和 `WriteBytes` 指标。  
有关这些指标的更多信息，请参阅 [衡量您的应用程序和网关间的性能。](PerfAppGateway-common.md)。

### 优化 iSCSI 设置
<a name="optimize-iSCSI"></a>

 您可以优化 iSCSI 启动程序上的 iSCSI 设置，以实现更高的 I/O 性能。我们建议为 `MaxReceiveDataSegmentLength` 和 `FirstBurstLength` 选择 256 KiB，为 `MaxBurstLength` 选择 1 MiB。有关配置 iSCSI 设置的更多信息，请参阅[自定义 iSCSI 设置](recommendediSCSISettings.md)。

**注意**  
这些建议的设置有助于实现更出色的整体性能。但是，优化性能所需的具体 iSCSI 设置因您使用的备份软件而异。有关详细信息，请参阅备份软件文档。

### 向应用程序环境添加资源
<a name="Optimizing-vtl-add-resources-app-common"></a>

**提高应用程序服务器和网关之间的带宽**  
iSCSI 启动程序和网关之间的连接可能会限制您的上传和下载性能。如果您的网关的性能明显低于预期，并且您已经提高了 CPU 核心数量和磁盘吞吐量，请考虑：  
+ 升级网络电缆，使启动程序和网关之间具有更高的带宽。
要优化网关性能，请确保应用程序和网关之间的网络带宽可满足您的应用程序需求。您可以使用网关的 `ReadBytes` 和 `WriteBytes` 指标来测量总数据吞吐量。  
对于您的应用程序，请将测得的吞吐量与所需的吞吐量进行比较。如果测得吞吐量小于预期吞吐量，那么如果网络是瓶颈，提高应用程序和网关间的带宽可改善性能。同样地，您可以增加 VM 和本地磁盘之间的带宽 (如果它们不是直接连接的)。

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