

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

# FSx for Windows File Server 性能
<a name="performance"></a>

FSx for Windows File Server 提供文件系统配置选项以满足各种性能需求。以下是关于 Amazon FSx 文件系统性能的概述，以及关于可用性能配置选项和有用的性能提示的讨论。

**Topics**
+ [文件系统性能](#performance-details-fsxw)
+ [其他性能注意事项](#perf-overview)
+ [吞吐能力对性能的影响](#impact-throughput-cap-performance)
+ [选择正确的吞吐能力级别](#choosing-throughput)
+ [存储配置对性能的影响](#storage-capacity-and-performance)
+ [示例：存储容量和吞吐能力](#throughput-example-fsxw)
+ [使用 CloudWatch 指标衡量绩效](#measure-performance-cw)
+ [文件系统性能问题排查](performance-troubleshooting.md)

## 文件系统性能
<a name="performance-details-fsxw"></a>

每个 FSx for Windows File Server 文件系统都由与客户机通信的 Windows 文件服务器和一组附加到文件服务器的存储卷或磁盘组成。每台文件服务器都使用快速内存缓存来增强最常访问数据的性能。

下图说明了如何从 FSx for Windows File Server 文件系统访问数据。

![FSx for Windows File Server 架构，显示了文件服务器和存储卷性能指标的关系及其对文件系统性能的影响。](http://docs.aws.amazon.com/zh_cn/fsx/latest/WindowsGuide/images/performance-metrics-FSxW.png)


*当客户端访问存储在内存缓存中的数据时，这些数据将作为网络直接提供给发出请求的客户端。 I/O*文件服务器不需要从磁盘读取或写入磁盘。这种数据访问的性能取决于网络 I/O 限制和内存中缓存的大小。

*当客户机访问不在缓存中的数据时，文件服务器会将其作为磁盘读取或写入磁盘。 I/O*然后，数据以网络形式从文件服务器提供给客户端 I/O。这种数据访问的性能由网络 I/O 限制和磁盘 I/O 限制决定。

网络 I/O 性能和文件服务器内存缓存由文件系统的吞吐容量决定。磁盘 I/O 性能由吞吐容量和存储配置的组合决定。您的文件系统可以达到的最大磁盘 I/O 性能（包括磁盘吞吐量和磁盘 IOPS 级别）是以下两项中较低的一个：
+ 文件服务器提供的磁盘 I/O 性能级别，基于您为文件系统选择的吞吐容量。
+ 您的存储配置提供的磁盘 I/O 性能级别（存储容量、存储类型和您为文件系统选择的 SSD IOPS 级别）。

## 其他性能注意事项
<a name="perf-overview"></a>

文件系统性能通常通过其延迟、吞吐量和每秒 I/O 操作数 (IOPS) 来衡量。

### 延迟
<a name="latency-fsxW"></a>

 FSx for Windows File Server 文件服务器采用快速的内存缓存，为经常访问的数据实现稳定的亚毫秒级延迟。对于不在内存缓存中的数据，即需要通过在底层存储卷 I/O 上执行的文件操作，Amazon FSx 为固态硬盘 (SSD) 存储提供亚毫秒级的文件操作延迟，以及硬盘 (HDD) 存储的个位数毫秒延迟。

### 吞吐量和 IOPS
<a name="throughput-and-iops-fsxw"></a>

 Amazon FSx 文件系统在所有可用 A AWS 区域 mazon FSx 的地方提供高达 2 Gbps 和 80,000 IOPS，在美国东部（弗吉尼亚北部）、美国西部（俄勒冈）、美国东部（俄亥俄州）、欧洲（爱尔兰）、亚太地区（东京）和亚太地区（新加坡）提供 12 Gbps 的吞吐量和 400,000 IOPS。您的工作负载可以在文件系统上驱动的具体吞吐量和 IOPS 数取决于文件系统的吞吐能力、存储容量和存储类型，以及工作负载的性质，包括活动工作集的大小。

### Single-client 表现
<a name="single-client-performance"></a>

借助 Amazon FSx，您可以通过单个客户端访问文件系统，从而获得完整的吞吐量和 IOPS 级别。Amazon FSx 支持 *SMB 多通道*。此功能使 Amazon FSx 能够为访问文件系统的单个客户端提供多 GBps 吞吐量和数十万 IOPS。SMB 多通道会在客户端和服务器之间同时使用多个网络连接，以此来聚合网络带宽，从而最大化利用率。尽管 Windows 支持的 SMB 连接次数存在理论限制，但该限制是百万级的，实际上您可以拥有无限的 SMB 连接次数。

### 突增性能
<a name="burst-performance"></a>

File-based 工作负载通常很高，其特点是短而密集的高峰期，两次爆发之间 I/O 有充足的空闲时间。为了支持高峰工作负载，除了文件系统可以维持的基准速度外 24/7，Amazon FSx 还提供了在一段时间内突增至更高速度的 I/O 网络和 I/O 磁盘操作的功能。Amazon FSx 使用 I/O 积分机制根据平均利用率分配吞吐量和 IOPS — 当文件系统的吞吐量和 IOPS 使用量低于其基准限制时，文件系统会累积积积分，并且可以在执行操作时使用这些积分。 I/O 

## 吞吐能力对性能的影响
<a name="impact-throughput-cap-performance"></a>

吞吐能力决定以下几类文件系统的性能：
+ 网络 I/O -文件服务器向访问文件的客户端提供文件数据的速度。
+ 文件服务器 CPU 和内存 – 可用于提供文件数据和执行重复数据删除和影子副本等后台活动的资源。
+ 磁盘 I/O — 文件服务器在文件服务器和存储卷 I/O 之间可以支持的速度。

下表提供了有关每个预配置吞吐量容量配置可以驱动的最大网络 I/O （吞吐量和 IOPS）和磁盘 I/O （吞吐量和 IOPS）级别，以及可用于缓存和支持重复数据删除和卷影副本等后台活动的内存量的详细信息。虽然在使用 Amazon FSx API 或 CLI 时，您可以选择低于每秒 32 兆比特（MBps）的吞吐能力级别，但请记住，这种级别适用于测试和开发工作负载，而非生产工作负载。

**注意**  
请注意，仅以下区域支持 4,608 MBps 及以上级别吞吐能力：美国东部（弗吉尼亚州北部）、美国西部（俄勒冈州）、美国东部（俄亥俄州）、欧洲地区（爱尔兰）、亚太地区（东京）和亚太地区（新加坡）。

### 网络 I/O 和内存
<a name="network-performance"></a>


| FSx 吞吐能力（MBps） | 网络吞吐量（MBp） | 网络 IOPS | 内存（GB） | 
| --- |--- |--- |--- |
| **** | **基准** | **突增（每天几分钟）** | **** | **** | 
| --- |--- |--- |--- |--- |
| 32 | 32 | 600 | 千 | 4 | 
| --- |--- |--- |--- |--- |
| 64 | 64 | 600 | 数万 | 8 | 
| --- |--- |--- |--- |--- |
| 128 | 150 | 1250 | 8 | 
| --- |--- |--- |--- |
| 256 | 300 | 1250 | 数十万 | 16 | 
| --- |--- |--- |--- |--- |
| 512 | 600 | 1250 | 32 | 
| --- |--- |--- |--- |
| 1024 | 1500 |  –  | 64 | 
| --- |--- |--- |--- |
| 2,048 | 3,125 |  –  | 128 | 
| --- |--- |--- |--- |
| 4,608 | 9,375 |  –  | 数百万 | 192 | 
| --- |--- |--- |--- |--- |
| 6,144 | 12,500 |  –  | 256 | 
| --- |--- |--- |--- |
| 9,216 | 18,750 |  –  | 384 | 
| --- |--- |--- |--- |
| 12,288 | 21,250 |  –  | 512 | 
| --- |--- |--- |--- |

### 磁盘 I/O
<a name="disk-performance"></a>


| FSx 吞吐能力（MBps） | 磁盘吞吐量（MBps） | 磁盘 IOPS | 
| --- |--- |--- |
| **** | **基准** | **突增（每天 30 分钟）** | **基准** | **突增（每天 30 分钟）** | 
| --- |--- |--- |--- |--- |
| 32 | 32 | 260 | 2K | 12K | 
| --- |--- |--- |--- |--- |
| 64 | 64 | 350 | 4K | 16K | 
| --- |--- |--- |--- |--- |
| 128 | 128 | 600 | 6K | 20K | 
| --- |--- |--- |--- |--- |
| 256 | 256 | 600 | 10K | 20K | 
| --- |--- |--- |--- |--- |
| 512 | 512 |  –  | 20K |  –  | 
| --- |--- |--- |--- |--- |
| 1024 | 1024 |  –  | 40K |  –  | 
| --- |--- |--- |--- |--- |
| 2,048 | 2,048 |  –  | 80K |  –  | 
| --- |--- |--- |--- |--- |
| 4,608 | 4,608 |  –  | 150K |  –  | 
| --- |--- |--- |--- |--- |
| 6,144 | 6,144 |  –  | 200K |  –  | 
| --- |--- |--- |--- |--- |
| 9,216 | 9,216 1 |  –  | 300K 1 |  –  | 
| --- |--- |--- |--- |--- |
| 12,288 | 12,288 1 |  –  | 400K 1 |  –  | 
| --- |--- |--- |--- |--- |

**注意**  
1 如果您的 Multi-AZ 文件系统的吞吐量为 9,216 或 12,288 Mbps，则仅写入流量的性能将限制在 9,000 Mbps 和 262,500 IOPS 以内。否则，对于所有 Multi-AZ 文件系统的读取流量、所有 Single-AZ 文件系统的读取和写入流量以及所有其他吞吐量容量级别，您的文件系统将支持表中所示的性能限制。

## 选择正确的吞吐能力级别
<a name="choosing-throughput"></a>

 当您使用 Amazon Web Services Management Console 创建文件系统时，Amazon FSx 会根据您配置的存储容量自动为您的文件系统选择推荐的吞吐能力级别。虽然推荐的吞吐能力应该足以满足大多数工作负载，但您可以选择覆盖建议，并配置特定的吞吐能力，以满足工作负载的需求。例如，如果您的工作负载需要将 1GBps 的流量驱动至文件系统，则应选择至少 1024MBps 的吞吐能力。下表基于预配置的存储容量，提供文件系统的最低推荐吞吐能力级别。


| SSD 存储容量（GiB） | HDD 存储容量（GiB） | 最低推荐吞吐能力（Mbps） | 
| --- | --- | --- | 
| 最多 640 | 最多 3200 | 32 | 
| 641 至 1280 | 3201 至 6400 | 64 | 
| 1281 至 2560 | 6401 至 12800 | 128 | 
| 2561 至 5120 | 12801 至 25600 | 256 | 
| 5121 至 10240 | 25601 至 51200 | 512 | 
| 10241 至 20480 | >51200 | 1024 | 
| >20480 | NA | 2,048 | 

在决定要配置的吞吐量级别时，还应考虑计划在文件系统上启用的功能。例如，启用 [Shadow](shadow-copies-fsxW.md) Copies 可能需要将吞吐量增加到预期工作负载的三倍，以确保文件服务器能够在可用 I/O 性能容量下维护卷影副本。如果您启用了[重复数据删除](data-dedup-ts.md)，则应确定与文件系统的吞吐能力关联的内存量，并确保该内存量足以容纳您的数据大小。

创建吞吐能力后，您可以随时上调或下调其数量。有关更多信息，请参阅 [管理吞吐能力](managing-throughput-capacity.md)。

您可以通过查看 Amazon FSx 控制台的**监控和性能 > 性能**选项卡，监控工作负载对文件服务器性能资源的利用率，并获得有关选择哪种吞吐能力的建议。我们建议在预生产环境中进行测试，以确保您选择的配置符合工作负载的性能要求。对于 Multi-AZ 文件系统，我们还建议您测试在文件系统维护、吞吐量容量变化和计划外服务中断期间发生的故障转移过程对工作负载的影响，并确保您已预配置足够的吞吐量容量以防止在这些事件期间影响性能。有关更多信息，请参阅 [访问文件系统指标](accessingmetrics.md)。

## 存储配置对性能的影响
<a name="storage-capacity-and-performance"></a>

文件系统的存储容量、存储类型和 SSD IOPS 级别都会影响文件系统的磁盘 I/O 性能。您可以配置这些资源，以便为您的工作负载提供所需的性能级别。

 您可以随时增加存储容量和扩展 SSD IOPS。有关更多信息，请参阅[管理存储容量](managing-storage-configuration.md#managing-storage-capacity)和[管理 SSD IOPS](managing-storage-configuration.md#managing-provisioned-ssd-iops)。您也可以将文件系统从 HDD 存储类型升级到 SSD 存储类型。有关更多信息，请参阅 [管理文件系统存储类型](managing-storage-configuration.md#managing-storage-type)。

您的文件系统提供以下默认级别的磁盘吞吐量和 IOPS：


| 存储类型 | 磁盘吞吐量 [每 TiB 存储速率（MBps）] | 磁盘 IOPS（存储的每 TiB） | 
| --- | --- | --- | 
| SSD | 750 | 3,000 1 | 
| HDD | 基准 12；突增 80（每个文件系统最多 1Gbps）  | 基准 12；突增 80 | 

**注意**  
1对于采用 SSD 存储类型的文件系统，您可以预置额外的 IOPS，最大比例 500 IOPS/GiB 存储，400,000 IOPS/文件系统。

### HDD 突增性能
<a name="hdd-burst-performance"></a>

对于 HDD 存储卷，Amazon FSx 使用突增桶模型来提高性能。卷大小决定卷的基准吞吐量，即卷积累吞吐量积分的速度。卷大小还决定卷的突增吞吐量，即有积分可用时消耗积分的速度。较大的卷有较高的基准吞吐量和突增吞吐量。您的音量拥有的积分越多，它在爆发等级 I/O 下行驶的时间就越长。

HDD 存储卷的可用吞吐量由以下公式表示：

```
(Volume size) × (Credit accumulation rate per TiB) = Throughput
```

对于 1 TiB 的 HDD 卷，突发吞吐量限制为 80 MiBps，存储桶在 12 时充满积分 MiBps，并且最多可以容纳 1 TiB-worth 个积分。

根据工作负载，HDD 存储卷可能会出现显著的性能差异。IOPS 或吞吐量突然激增可能导致磁盘性能下降。[`DiskThroughputBalance`](monitoring-cloudwatch.md#fsx-storage-volume-metrics) 指标提供有关磁盘吞吐量和磁盘 IOPS 利用率的突增积分余额的信息。例如，如果工作负载超过了基准 HDD IOPS 限制（每 TiB 存储 12 次 IOPS），则磁盘 IOPS 利用率（HDD）将高于 100%，这会导致突增积分余额耗尽，如 `DiskThroughputBalance` 指标所示。为了使您的工作负载继续保持高水平 I/O，您可能需要执行以下操作之一：
+ 减少对工作负荷的 I/O 需求，从而补充突发积分余额。
+ 增加文件系统的存储容量，提供更高基准水平的磁盘 IOPS。
+ 升级文件系统以使用 SSD 存储，提供更高基准水平的磁盘 IOPS，以便更好地匹配工作负载的要求。

## 示例：存储容量和吞吐能力
<a name="throughput-example-fsxw"></a>

以下示例说明了存储容量和吞吐能力对文件系统性能的影响。

 配置有 2 TiB HDD 存储容量和 32 MBps 吞吐能力的文件系统具有以下吞吐量级别：
+ 网络吞吐量 – 基准 32 MBps 和突增 600 MBps（参阅吞吐能力表）
+ 磁盘吞吐量 – 基准 24 MBps 和突增 160 MBps，这是以下两者中较低的一个：
  + 基于文件系统的吞吐能力，文件服务器支持的磁盘吞吐量级别为 32 Mbps 基准和 260 Mbps 突增 
  + 根据存储类型和容量，存储卷支持的磁盘吞吐量水平为 24 Mbps（12 MBps/TB \* 2 TiB）基准和 160 Mbps 突增（80 MBps/TiB \* 2 TiB）

 因此，访问文件系统的工作负载将能够提供高达 32 MBps 的基准吞吐量和 600 MBps 的突增吞吐量，用于对缓存在文件服务器内存缓存中经常访问的数据执行文件操作，以及高达 24 MBps 的基准吞吐量和 160 MBps 的突增吞吐量，用于由于缓存未命中而需要对整个磁盘执行的文件操作。

## 使用 CloudWatch 指标衡量绩效
<a name="measure-performance-cw"></a>

您可以使用 Amazon CloudWatch 来衡量和监控文件系统的吞吐量和 IOPS。有关更多信息，请参阅 [使用 Amazon 进行监控 CloudWatch](monitoring-cloudwatch.md)。