

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

# FSx 用于 Windows 文件服务器的性能
<a name="performance"></a>

FSx 适用于 Windows 的文件服务器提供了文件系统配置选项以满足各种性能需求。以下是 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 适用于 Windows File Server 的文件系统都由一个客户机与之通信的 Windows 文件服务器和一组连接到文件服务器的存储卷或磁盘组成。每台文件服务器都使用快速内存缓存来增强最常访问数据的性能。

下图说明了如何从 FSx 适用于 Windows 的文件服务器的文件系统访问数据。

![FSx 适用于 Windows 文件服务器架构，显示文件服务器和存储卷性能指标的关系及其对文件系统性能的影响。](http://docs.amazonaws.cn/fsx/latest/WindowsGuide/images/performance-metrics-FSxW.png)


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

当客户机访问不在缓存中的数据时，文件服务器会将其作为磁盘 *I/O 从磁盘读取或写入磁*盘。 然后，数据作为网络I/O. The performance of this data access is determined by the network I/O limits as well as the disk 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 对于 Windows File Server，文件服务器采用快速的内存缓存，为主动访问的数据实现稳定的亚毫秒级延迟。对于不在内存缓存中的数据，即需要通过在底层存储卷 I/O 上执行的文件操作，Amazon FSx 为固态硬盘 (SSD) 存储提供亚毫秒级的文件操作延迟，以及硬盘 (HDD) 存储的个位数毫秒延迟。

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

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

### 单客户端性能
<a name="single-client-performance"></a>

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

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

基于文件的工作负载通常处于尖峰状态，其特点是短而密集的高峰期，两次突发之间 I/O 有充足的空闲时间。为了支持高峰工作负载，除了文件系统可以全天候维持的基准速度外，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) | 网络吞吐量 (MBps) | 网络 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 如果您的多可用区文件系统的吞吐量为 9,216 或 12,288，则仅写入流量的性能将限制在 9, MBps 000 MBps 和 262,500 IOPS 以内。否则，对于所有多可用区文件系统的读取流量、所有单可用区文件系统的读取和写入流量以及所有其他吞吐能力级别，您的文件系统将支持表中所示的性能限制。

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

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


| 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-copies-fsxW.md)可能需要将吞吐量增加到预期工作负载的三倍，以确保文件服务器能够在可用 I/O 性能容量下维护卷影副本。如果您启用了[重复数据删除](data-dedup-ts.md)，则应确定与文件系统的吞吐能力关联的内存量，并确保该内存量足以容纳您的数据大小。

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

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


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

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

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

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

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

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

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

根据工作负载，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 burst 
  + 根据存储类型和容量，存储卷支持的磁盘吞吐量级别为 24 个 MBps 基准（ MBps 每 TB 12 个 \* 2 MBps TiB）和 160 个 MBps 突发吞吐量（每个 TiB 80 \* 2 TiB）

 因此，访问文件系统的工作负载将能够为文件服务器内存缓存中缓存的活跃访问数据执行的文件操作带来高达 32 个 MBps 基准吞吐量和 60 MBps 0 个 MBps 突发吞吐量，对于需要一直到磁盘的文件操作（例如由于缓存缺失），则可以驱动高达 24 个 MBps 基准吞吐量和 160 个突发吞吐量。

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

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