本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon EFS 性能规范
以下章节概述了 Amazon EFS 性能,还介绍了文件系统配置如何影响关键性能维度。我们还提供了一些用于优化文件系统性能的重要提示和建议。
性能摘要
文件系统性能通常通过使用延迟、吞吐量和每秒进行读写操作的次数(IOPS)来衡量。Amazon EFS 在这些方面的性能取决于文件系统的配置。以下配置会影响 Amazon EFS 文件系统的性能:
文件系统类型 – 区域性或单区
性能模式 – 通用或最大 I/O
重要
与通用性能模式相比,最大 I/O 性能模式具有更高的每操作延迟。为了提高性能,我们建议始终使用通用性能模式。有关更多信息,请参阅 性能模式。
吞吐量模式 – 弹性、预配置或突增
下表概述了使用通用性能模式的文件系统的性能规格,以及不同文件系统类型和吞吐量模式的可能组合。
| 存储和吞吐量配置 | 延迟1 | 最大 IOPS | 最大吞吐量 | |||||
|---|---|---|---|---|---|---|---|---|
|
文件系统类型 |
吞吐量模式 |
读取操作 |
写入操作 |
读取操作 |
写入操作 |
按文件系统读取2 |
按文件系统写入2 |
按客户端读取/写入 |
|
区域性 |
Elastic |
低至 250 微秒(µs) |
As low as 2.7 milliseconds (ms) | 900,000–2,500,0003 | 500,0003 |
每秒 20–60 千兆字节(GiBps) |
1–5 GiBps |
每秒 1500 兆字节(MiBps)4 |
|
区域性 |
Provisioned |
低至 250 微秒 |
As low as 2.7 ms | 55,000 | 25,000 |
3–10 GiBps |
1–3.33 GiBps |
500 MiBps |
|
区域性 |
Bursting |
低至 250 微秒 |
As low as 2.7 ms | 35,000 | 7,000 |
3–5 GiBps |
1–3 GiBps |
500 MiBps |
|
单区 |
Elastic, Provisioned, Bursting |
低至 250 微秒 |
低至 1.6 毫秒 |
35,000 | 7,000 |
3 GiBps5 |
1 GiBps5 |
500 MiBps |
-
所示延迟值代表了最佳条件下的最佳性能。实际结果可能因网络、工作负载和系统因素而异。
-
最大读取和写入吞吐量取决于 Amazon Web Services 区域。如果吞吐量超过 Amazon Web Services 区域的最大吞吐量,则需要增加吞吐量配额。Amazon EFS 服务团队会根据具体情况考虑任何额外吞吐量请求。是否批准可能取决于工作负载类型。有关请求增加配额的更多信息,请参阅Amazon EFS 限额。
-
默认情况下,使用弹性吞吐量的文件系统可针对不频繁访问的数据,实现高达 90,000 次读取 IOPS;而针对频繁访问的数据,可以实现 250,000 次读取 IOPS 和 50,000 次写入 IOPS。如果您的工作负载需要更高 IOPS,您可以请求将这些数字增加高达 10 倍。有关更多信息,请参阅 您可以提高的 Amazon EFS 配额。其它建议适用于实现最大 IOPS。有关更多信息,请参阅 优化需要高吞吐量和 IOPS 的工作负载。
-
对于使用弹性吞吐量并使用版本 2.0 或更高版本的 Amazon EFS 客户端(amazon-efs-utils 版本)或 Amazon EFS CSI 驱动程序(aws-efs-csi-driver)挂载的文件系统,最高合并读取和写入吞吐量为 1500 MiBps。对于所有其它文件系统,吞吐量限制为 500 MiBps。有关 Amazon EFS 客户端的更多信息,请参阅安装 Amazon EFS 客户端。
-
使用突增吞吐量的单区文件系统可以驱动与使用突增吞吐量的区域性文件系统相同的每文件系统读取和写入吞吐量(读取最高为 5 GiBps,写入最高为 3 GiBps)。
存储类
Amazon EFS 存储类专为实现最有效的存储而设计,具体取决于用例。
-
EFS 标准存储类使用固态驱动器 (SSD) 存储为频繁访问的文件提供最低延迟级别。该存储类的读取第一个字节延迟低至 250 微秒,写入第一个字节延迟低至 2.7 毫秒。
EFS 不频繁访问(IA)和 EFS 存档存储类可存储访问频率较低的数据,这些数据不需要频繁访问的数据所需的延迟性能。这些存储类提供的第一个字节延迟为数十毫秒。
有关 EFS 存储类的更多信息,请参阅 EFS 存储类。
性能模式
Amazon EFS 提供两种性能模式:通用模式和最大 I/O 模式。
-
通用模式的每次操作延迟最低,是文件系统的默认性能模式。单区文件系统始终使用通用性能模式。为了提高性能,我们建议始终使用通用性能模式。
-
最大 I/O 模式是上一代性能类型,专为高度并行化的工作负载而设计,与通用模式相比,这些工作负载可以容忍更高的延迟。“单区”文件系统或使用弹性吞吐量的文件系统不支持最大 I/O 模式。
重要
由于最大 I/O 的每次操作延迟较高,因此我们建议对所有文件系统使用通用性能模式。
为了帮助确保工作负载保持在使用通用性能模式的文件系统的 IOPS 限制范围内,可以监控 PercentIOLimit CloudWatch 指标。有关更多信息,请参阅 Amazon EFS 的 CloudWatch 指标。
应用程序可以弹性扩展其 IOPS,以达到与性能模式相关的限制。无需单独为 IOPS 付费;它们已包含在文件系统的吞吐量核算中。每个网络文件系统(NFS)请求都以 4 千字节(KB)吞吐量或其实际请求和响应大小计算,以较大者为准。
吞吐量模式
文件系统的吞吐量模式决定了文件系统可用的吞吐量。Amazon EFS 提供三种吞吐量模式:弹性、预配置和突增。读取吞吐量已打折,使您能够获得比写入吞吐量更高的读取吞吐量。每种吞吐量模式下可用的最大吞吐量取决于 Amazon Web Services 区域。有关不同区域中最大文件系统吞吐量的更多信息,请参阅Amazon EFS 限额。
文件系统可以实现 100% 的读写组合吞吐量。例如,如果文件系统使用其读取吞吐量限制的 33%,则该文件系统可以同时达到其写入吞吐量限制的 67%。可以在控制台的文件系统详细信息页面上的吞吐量利用率(%)图表中监控文件系统的吞吐量使用情况。有关更多信息,请参阅 监控吞吐量性能。
为文件系统选择正确的吞吐量模式
为文件系统选择正确的吞吐量模式取决于工作负载的性能要求。
弹性吞吐量(推荐)– 当工作负载激增或不可预测且性能要求难以预测时,或者当应用程序以 5% 或更低的平均峰值比驱动吞吐量时,请使用默认的弹性吞吐量。有关更多信息,请参阅 弹性吞吐量。
-
预置吞吐量 – 如果您知道工作负载的性能要求,或者当您的应用程序以 5% 或更高的平均峰值比驱动吞吐量时,请使用预置吞吐量。有关更多信息,请参阅 预配置吞吐量。
-
突增吞吐量 – 如果您希望吞吐量随文件系统中的存储量扩展,请使用突增吞吐量。
如果在使用突增吞吐量后,发现您的应用程序受到吞吐量限制(例如,使用的吞吐量超过允许吞吐量的 80%,或者已经使用了所有突增点数),则应使用弹性吞吐量或预置吞吐量。有关更多信息,请参阅 突增吞吐量。
有关 Amazon EFS 指标的更多信息,请参阅Amazon EFS 的 CloudWatch 指标。
弹性吞吐量
对于使用弹性吞吐量的文件系统,Amazon EFS 会自动扩缩吞吐量性能,以满足工作负载活动需求。对于性能要求难以预测的激增或不可预测的工作负载,或者对于以平均峰值吞吐量的 5% 或更低(平均峰值比)驱动吞吐量的应用程序,弹性吞吐量是最佳吞吐量模式。
由于具有弹性吞吐量的文件系统的吞吐量性能会自动扩缩,因此无需指定或预置吞吐能力来满足应用程序需求。只需为读取或写入的元数据和数据量付费,并且在使用弹性吞吐量时不会累积或消耗突增点数。
注意
虽然弹性吞吐量旨在根据您的吞吐量进行弹性扩展,但建议您通过使用 CloudWatch(MeteredIOBytes)来监控相关指标,以及将使用量告警作为运维最佳实践的一部分,从而实施完善的治理机制。这有助于保持资源的最优利用率,并确保始终保持在计划的操作参数范围内。有关更多信息,请参阅 使用 Amazon CloudWatch 监控指标。
有关每个区域的弹性吞吐量限制的信息,请参阅您可以提高的 Amazon EFS 配额。
预配置吞吐量
使用预置吞吐量时,可以指定文件系统可以驱动的吞吐量级别,不受文件系统大小或突增点数余量影响。如果您知道工作负载的性能要求,或者当您的应用程序以 5% 或更高的平均峰值比驱动吞吐量时,请使用预置吞吐量。
对于使用预置吞吐量的文件系统,会针对为文件系统启用的吞吐量向您收费。一个月内计费的吞吐量基于预配置的吞吐量,该吞吐量超过文件系统包含的标准存储的基准吞吐量,不超过 Amazon Web Services 区域中现行的突增基准吞吐量限制。
如果文件系统的基准吞吐量超过预置吞吐量,则会自动使用文件系统支持的突增吞吐量(不超过该 Amazon Web Services 区域中的现行突发基准吞吐量限制)。
有关每个区域的预置吞吐量限制的信息,请参阅您可以提高的 Amazon EFS 配额。
突增吞吐量
对于需要吞吐量随文件系统存储量扩展的工作负载,建议使用突增吞吐量。使用突增吞吐量时,基本吞吐量与标准存储类中文件系统的大小成正比,每 GiB 存储的速率为 50 KiBps。当文件系统消耗的吞吐量低于其基本吞吐量速率时,突增点数就会累积,当吞吐量超过基本速率时,会扣除突增点数。
有可用突增点数时,文件系统可以将标准存储中的吞吐量提高到每 TiB 100 MiBps(即每 GiB 50 KiBps),不超过 Amazon Web Services 区域的限制,最低为 100 MiBps。如果没有可用的突增点数,文件系统可以驱动最高每 TiB 存储 50 MiBps,最低为 1 MiBps。
有关每个区域的突增吞吐量的信息,请参阅General resource quotas that cannot be changed。
了解 Amazon EFS 突增点数
使用突增吞吐量,每个文件系统随时间推移获得基准速率的突增点数,该基准速率由存储在 EFS 标准存储类中的文件系统大小决定。基准速率为每太字节 [TiB] 存储 50 MiBps(相当于每 GiB 存储 50 KiBps)。Amazon EFS 对读取操作的计量最多为写入操作速率的三分之一,允许文件系统将基准速率提高到每 GiB 读取吞吐量 150 KiBps,或每 GiB 写入吞吐量 50 KiBps。
文件系统可以其基准计量速率持续提高吞吐量。每当文件系统处于不活动状态或吞吐量低于其基准计量速率时,文件系统就会累积突增点数。累计的突增积分使文件系统可以推高吞吐量,使其高于其基准速率。
例如,在标准存储类中包含 100 GiB 计量数据的文件系统的基准吞吐量为 5 MiBps。在 24 小时不活动期间,文件系统将获得 43.2 万 MiB 点数(5 MiB × 8.64 万秒 = 43.2 万 MiB),这些点数可用于以 100 MiBps 的速率突发 72 分钟(43.2 万 MiB ÷ 100 MiBps = 72 分钟)。
如果大于 1 TiB 的文件系统在 50% 的时间内处于不活动状态,该文件系统在其余 50% 的时间内始终可以突增。
下表提供了突增行为的示例。
| 文件系统大小 | 突增吞吐量 | 基准吞吐量 |
|---|---|---|
| 标准存储中有 100 GiB 计量数据 |
|
|
| 标准存储中有 1 TiB 计量数据 |
|
|
| 标准存储中有 10 TiB 计量数据 |
|
|
| 通常,较大的文件系统 |
|
|
注意
即使基准速率较低,Amazon EFS 也可为所有文件系统提供 1 MiBps 的计量吞吐量。
确定基准速率和突增速率时所使用的文件系统大小是通过 DescribeFileSystems API 操作可用的 ValueInStandard 计量大小。
小于 1 TiB 的文件系统可以获得的积分可达到最高 2.1 TiB 积分余额,对于大于 1 TiB 的文件系统,可达到每 TiB 存储 2.1 TiB 的积分余额。此行为意味着文件系统可以累积足够的点数来持续突增长达 12 小时。
对切换吞吐量和更改预置量的限制
可以切换现有文件系统的吞吐量模式并更改吞吐量。但是,在将吞吐量模式切换到预置吞吐量或更改预置吞吐量后,以下操作将在 24 小时内受到限制:
-
从预置吞吐量模式切换到弹性或突增吞吐量模式。
-
减少预置吞吐量。