

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

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

本节介绍了 Storage Gateway 性能。

**Topics**
+ [磁带网关的性能指导](#performance-tgw)
+ [优化网关性能](#Optimizing-common)

## 磁带网关的性能指导
<a name="performance-tgw"></a>

在本部分中，您可以找到为磁带网关 VM 预配置硬件的配置指南。表中列出的 Amazon EC2 实例大小和类型是示例，仅供参考。


| 配置 | 写入吞吐量 Gbps | 从缓存读取的吞吐量 Gbps | 从 Amazon Web Services 云读取的吞吐量 Gbps | 
| --- | --- | --- | --- | 
|  主机平台：Amazon EC2 实例 - c5.4xlarge  CPU：16 个 vCPU \$1 RAM：32 GB 根磁盘：80 GB，io1 SSD，4000 IOPS 缓存磁盘：条带 RAID（2 x 500 GB，io1 EBS 固态硬盘，25000） IOPs 上传缓冲磁盘：450 GB、io1 固态硬盘、2000 IOPs 到云的网络带宽：10 Gbps  | 2.3  | 4.0  | 2.2  | 
|  主机平台：存储网关硬件设备 缓存磁盘：2.5 TB 上传缓冲区磁盘：2 TB  到云的网络带宽：10 Gbps   | 2.3  | 8.8  | 3.8  | 
|  主机平台：亚马逊 EC2instance — c5d.9xlarge  CPU：36 个 vCPU \$1 RAM：72 GB 根磁盘：80 GB，io1 SSD，4000 IOPS 缓存磁盘：900 GB NVMe 磁盘 上传缓冲区磁盘：900 GB NVMe 磁盘  到云的网络带宽：10 Gbps  | 5.2  | 11.6  | 5.2  | 
|  主机平台：亚马逊 EC2instance — c5d.metal  CPU：96 个 vCPU \$1 RAM：192 GB 根磁盘：80 GB，io1 SSD，4000 IOPS 缓存磁盘：条带化 RAID（2 x 900 GB NVMe 磁盘） 上传缓冲区磁盘：900 GB NVMe 磁盘  到云的网络带宽：10 Gbps  | 5.2  | 11.6  | 7.2  | 

**注意**  
此性能是通过同时使用 1 MB 块大小和十个磁带驱动器来实现的。  
上表中的 EC2 配置仅用于代表您在拥有类似资源的物理服务器上可能获得的性能。例如，使用条带化 RAID 的 EC2 配置是通过一种特殊机制来设置，而我们在 EC2 上的网关通常不支持这种机制。要实现类似的性能，您应该改用连接到运行网关的本地服务器的硬件 RAID 控制器。  
您的性能可能因主机平台配置和网络带宽而异。

 要提高磁带网关的读写吞吐量性能，请参阅[优化 iSCSI 设置](#optimize-iSCSI)、[让磁带驱动器使用更大的数据块](#block-size)和[在备份软件中优化虚拟磁带驱动器的性能](#optimize-virtual-tape-drive)。

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

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

为了使您的网关发挥最佳性能，Storage Gateway 建议您的网关主机服务器采用以下网关配置：
+ 至少 64 个专用的物理 CPU 核心
+ 对于磁带网关，您的硬件应使用以下数量的 RAM：
  + 对于缓存大小不超过 16 TiB 的网关，至少预留 16 GiB 的 RAM
  + 对于缓存大小为 16 TiB 至 32 TiB 的网关，至少预留 32 GiB 的 RAM
  + 对于缓存大小为 32 TiB 至 64 TiB 的网关，至少预留 48 GiB 的 RAM
**注意**  
要获得最佳网关性能，您必须预配置至少 32 GiB 的 RAM。
+ 磁盘 1，用作网关缓存，如下所示：
  + 条带 RAID（独立磁盘冗余阵列）包括 NVMe SSDs。
+ 磁盘 2，用作网关上传缓冲区，如下所示：
  + 条带 RAID 包括 NVMe SSDs。
+ 磁盘 3，用作网关上传缓冲区，如下所示：
  + 条带 RAID 包括 NVMe SSDs。
+ 在虚拟机网络 1 上配置网络适配器 1：
  + 使用虚拟机网络 1 并添加 VMXnet3 (10 Gbps) 以用于摄取。
+ 在虚拟机网络 2 上配置网络适配器 2：
  + 使用虚拟机网络 2 并添加 VMXnet3 (10 Gbps) 以用于连接。 Amazon

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

以下瓶颈可能会使磁带网关卷网关 Amazon 云的带宽）以下：
+ CPU 核心数
+ 缓存/上传缓冲区磁盘吞吐量
+ RAM 总量
+ 网络带宽至 Amazon
+ 从启动程序到网关的网络带宽

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

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

**使用更高性能的磁盘**  
缓存和上传缓冲区磁盘吞吐量会限制网关的上传和下载性能。如果您的网关表现出的性能明显低于预期，请考虑通过以下方式提高缓存和上传缓冲区磁盘吞吐量：  
+ 使用条带化 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 趋势，以便显示与磁盘相关的瓶颈。有关网关指标的更多信息，请参阅[测量您的磁带网关和之间的性能 Amazon](PerfGatewayAWS-vtl-common.md)。
**注意**  
CloudWatch 并非所有网关都提供指标。有关网关指标的信息，请参阅[监控 Storage Gateway](Main_monitoring-gateways-common.md)。

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

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

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

**增加网关和 Amazon 云之间的带宽**  
增加进出带宽 Amazon 将提高进入网关和输出到 Amazon 云端的最大数据速率。如果网速是网关配置中的限制因素，而不是磁盘速度慢或网关启动程序连接带宽不足等其他因素，那么这样可以提高网关性能。  
往返网络带宽 Amazon 定义了持续工作负载期间磁带网关的*理论最大*平均性能。  
+ 在长时间间隔内，向磁带网关写入数据的平均速率不会超过向 Amazon上传数据的上传带宽。
+ 长时间间隔内从磁带网关读取数据的平均速率不会超过您的下载带宽 Amazon。
由于此处列出的其他限制因素，例如 cache/upload 缓冲区磁盘吞吐量、CPU 内核数、总 RAM 量或启动器和网关之间的带宽，您观察到的网关性能可能会低于您的网络带宽。此外，网关的正常运行涉及为保护数据而执行的许多操作，这可能会导致观察到的性能低于您的网络带宽。

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

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

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

### 让磁带驱动器使用更大的数据块
<a name="block-size"></a>

对于磁带网关，磁带驱动器的默认块大小为 64 KB。但是，您可以将块大小增加到 1 MB 以提高 I/O 性能。

您选择的块大小取决于备份软件支持的最大块大小。我们建议您在备份软件中将磁带驱动器的块大小尽可能设置为较大的值。但是，该块大小不能大于网关支持的最大大小 (1 MB)。

磁带网关协商虚拟磁带驱动器的块大小，以便自动与备份软件中设置的值相匹配。在备份软件中增加块大小时，我们建议您还要检查这些设置，以确保主机启动程序支持新的块大小。有关更多信息，请参阅备份软件的文档。有关特定网关性能指南的更多信息，请参阅[磁带网关的性能和优化](#Performance)。

### 在备份软件中优化虚拟磁带驱动器的性能
<a name="optimize-virtual-tape-drive"></a>

您的备份软件可以同时备份磁带网关上的最多 10 个虚拟磁带驱动器上的数据。我们建议您在备份软件中配置备份任务，从而在磁带网关上同时使用至少 4 个虚拟磁带驱动器。在备份软件同时将数据备份到多个虚拟磁带时，您可以实现更高的写入吞吐量。

 通常，您可以通过同时对更多虚拟磁带进行操作（读取或写入）来实现更高的最大吞吐量。通过使用更多的磁带驱动器，可以让您的网关同时处理更多请求，从而有可能提高性能。

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

**提高应用程序服务器和网关之间的带宽**  
iSCSI 启动程序和网关之间的连接可能会限制您的上传和下载性能。如果您的网关的性能明显低于预期，并且您已经提高了 CPU 核心数量和磁盘吞吐量，请考虑：  
+ 升级网络电缆，使启动程序和网关之间具有更高的带宽。
+ 同时使用尽可能多的磁带驱动器。iSCSI 不支持为同一个目标排队多个请求，这意味着您使用的磁带驱动器越多，网关可以同时处理的请求就越多。这将使您能够更充分地利用网关和启动程序之间的带宽，从而提高网关的表观吞吐量。
要优化网关性能，请确保应用程序和网关之间的网络带宽可满足您的应用程序需求。您可以使用网关的 `ReadBytes` 和 `WriteBytes` 指标来测量总数据吞吐量。)。有关这些指标的更多信息，请参阅[测量您的磁带网关和之间的性能 Amazon](PerfGatewayAWS-vtl-common.md)。  
对于您的应用程序，请将测得的吞吐量与所需的吞吐量进行比较。如果测得吞吐量小于预期吞吐量，那么如果网络是瓶颈，提高应用程序和网关间的带宽可改善性能。同样地，您可以增加 VM 和本地磁盘之间的带宽 (如果它们不是直接连接的)。

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