

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

# 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.aws.amazon.com/zh_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 的所有 AWS 区域 可用区域提供高达 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 |  –  | 72 | 
| --- |--- |--- |--- |
| 2,048 | 3,125 |  –  | 144 | 
| --- |--- |--- |--- |
| 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 个 \$1 2 MBps TiB）和 160 个 MBps 突发吞吐量（每个 TiB 80 \$1 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)。

# 文件系统性能问题排查
<a name="performance-troubleshooting"></a>

 FSx 适用于 Windows File Server 的文件系统的性能取决于多个因素，包括您驱动到文件系统的流量、配置文件系统的方式，以及已启用的功能（例如重复数据删除或影子副本）消耗的资源。有关了解文件系统性能的更多信息，请参阅 [FSx 用于 Windows 文件服务器的性能性能](performance.md)。

**Topics**
+ [如何确定我的文件系统的吞吐量和 IOPS 限制？](#perf-throughput-IOPS-limits)
+ [网络 I/O 和磁盘有什么区别I/O? Why is my network I/O different from my disk I/O？](#perf-whatis-networkio-diskio)
+ [为什么即使我的网络很低，我的 CPU 或内存使用率也 I/O 很高？](#why-cpu-mem-high)
+ [什么是突增？ 我的文件系统使用了多少突增？ 突增点数用完时会发生什么？](#what-is-bursting)
+ [我在**监控和性能**页面上看到一条警告，我需要更改文件系统的配置吗？](#warnings)
+ [我的指标暂时丢失，我应该担心吗？](#missing-metrics)

## 如何确定我的文件系统的吞吐量和 IOPS 限制？
<a name="perf-throughput-IOPS-limits"></a>

要查看文件系统的吞吐量和 IOPS 限制，请根据预置吞吐能力参阅[性能水平表](performance.md#performance-table)。

## 网络 I/O 和磁盘有什么区别I/O? Why is my network I/O different from my disk I/O？
<a name="perf-whatis-networkio-diskio"></a>

Amazon FSx 文件系统包括一个或多个文件服务器，它们通过网络向访问文件系统的客户端提供数据。这是 Amazon FSx 文件系统的网络I/O. The file server has a fast, in-memory cache to enhance performance for the most frequently accessed data. The file servers also drives traffic to the storage volumes that host your file system data. This is the disk I/O. The following diagram illustrates network and disk I/O。

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


有关更多信息，请参阅 [使用 Amazon CloudWatch 监控](monitoring-cloudwatch.md)。

## 为什么即使我的网络很低，我的 CPU 或内存使用率也 I/O 很高？
<a name="why-cpu-mem-high"></a>

文件服务器 CPU 和内存利用率不仅取决于您推送的网络流量，还取决于您在文件系统上启用的功能。如何配置和计划这些功能可能会影响 CPU 和内存利用率。

正在进行的重复数据删除作业可能会消耗内存。您可以修改重复数据删除作业的配置，以降低内存需求。例如，您可以将优化限制为针对特定文件类型或文件夹运行，或者设置优化的最小文件大小和期限。我们还建议将重复数据删除作业配置为在文件系统负载最小的空闲期间运行。有关更多信息，请参阅 [通过重复数据删除来降低存储成本](managing-storage-configuration.md#using-data-dedup)。

如果您启用了基于访问权限的枚举，则可能会在最终用户查看或列出文件共享时，或者在存储扩展作业的优化阶段，看到 CPU 利用率很高。有关更多信息，请参阅《Microsoft 存储文档》**中的[对命名空间启用基于访问的枚举](https://docs.microsoft.com/en-us/windows-server/storage/dfs-namespaces/enable-access-based-enumeration-on-a-namespace)。

## 什么是突增？ 我的文件系统使用了多少突增？ 突增点数用完时会发生什么？
<a name="what-is-bursting"></a>

基于文件的工作负载通常处于尖峰状态，其特点是短而密集的高峰期，两次突发之间 I/O 有空闲时间。为了支持这些类型的工作负载，除了文件系统可以维持的基准速度外，Amazon 还 FSx 提供了在一段时间内以更高的速度进行网络 I/O 和磁盘 I/O 操作的功能。

Amazon FSx 使用积分机制根据平均利用率分配吞吐量和 IOPS — 当文件系统的吞吐量和 IOPS 使用量低于其基准限制时，文件系统会累积积积分，并且可以在需要时使用这些积分突破基准限制（不超过突发限制）。 I/O 有关文件系统的突增限制和持续时间的更多信息，请参阅 [FSx 用于 Windows 文件服务器的性能性能](performance.md)。

## 我在**监控和性能**页面上看到一条警告，我需要更改文件系统的配置吗？
<a name="warnings"></a>

**监控和性能**页面出现警告，指明最近的工作负载需求何时接近或超过资源限制，具体取决于您的文件系统配置方式。这并不一定意味着您需要更改配置，但如果不采取建议的措施，您的文件系统可能无法满足您的工作负载需求。

如果导致警告的工作负载并不典型，并且您预计它不会持续，那么不采取任何措施但同时密切监控未来的利用率可能是安全的。但是，如果导致警告的工作负载是典型工作负载，并且您预计它会持续甚至加剧，我们建议您按照建议的操作来提高文件服务器性能（通过增加吞吐能力）或提高存储卷性能（通过增加存储容量或从 HDD 切换到 SSD 存储）。

**注意**  
某些文件系统事件可能会消耗磁盘 I/O 性能资源，并可能触发性能警告。例如：  
存储容量扩展的优化阶段会增加磁盘吞吐量，如 [增加存储容量并提升文件系统性能](managing-storage-configuration.md#storage-capacity-increase-and-performance) 中所述
对于多可用区文件系统，吞吐能力扩展、硬件更换或可用区中断等事件会导致自动失效转移和失效自动恢复事件。在此期间发生的任何数据更改都需要在主文件服务器和辅助文件服务器之间同步，Windows Server 运行的数据同步作业可能会消耗磁盘 I/O 资源。有关更多信息，请参阅 [管理吞吐能力](managing-throughput-capacity.md)。

## 我的指标暂时丢失，我应该担心吗？
<a name="missing-metrics"></a>

在文件系统维护、基础设施组件更换以及可用区不可用时，单可用区文件系统会出现不可用情况。在这段时间内，指标将不可用。

在多可用区部署中，Amazon FSx 会自动在不同的可用区域预置和维护备用文件服务器。如果发生文件系统维护或计划外服务中断，Amazon FSx 会自动故障转移到辅助文件服务器，这样您无需手动干预即可继续访问数据。在您的文件系统进行失效转移和失效自动恢复的短时间内，指标可能暂时不可用。