跳到主要内容

使用 QoS 保证吞吐量

存储服务质量(QoS)功能可用于避免竞争性工作负载影响关键工作负载的性能。可为竞争性工作负载设置吞吐量上限 以限制其对系统资源的影响,或为关键工作负载设置吞吐量下限,以确保在满足竞争性工作负载需求的同时满足最低吞吐量目标。甚至可以为同一个工作负载同时设置上限和下限。

了解吞吐量上限(QoS 最大值)

吞吐量上限指工作负载的吞吐量最大值,以 IOPS 和/或 MBps 表示。在下图中,工作负载 2 的吞吐量上限可确保其性能不会“压制”工作负载 1 和 3。

策略组 定义一个或多个工作负载的吞吐量上限。工作负载表示对存储对象 的 I/O 操作。存储对象是指单个卷、文件、Qtree 或 LUN,或者一个 SVM 中的所有卷、文件、Qtree 或 LUN。可在创建策略组时指定上限,也可以等到监控工作负载之后再指定。

工作负载的吞吐量可能会超出指定上限达 10%,特别是吞吐量迅速变化时。当需要应对突发性工作负载时,吞吐量可能会超出上限达 50%。当令牌累积达到 150% 时,单个节点上将出现突发性工作负载。


了解吞吐量下限(QoS 最小值)

吞吐量下限指工作负载的吞吐量最小值,以 IOPS 和/或 MBps 表示。在下图中,工作负载 1 和 3 的吞吐量下限确保可确保在满足工作负载 2 需求的同时满足最小吞吐量目标。

提示
如示例所示,吞吐量上限直接调节吞吐量。吞吐量下限间接调节吞吐量,方法是为设有下限的工作负载提供优先级。

不能将用于定义吞吐量下限的策略组应用于 SVM。可在创建策略组时指定下限,也可以等到监控工作负载之后再指定。

在 ONTAP 9.7 之前的版本中,必须有足够的可用性能容量,吞吐量下限才可以得到保证。在 ONTAP 9.7 及更高版本中,即使没有足够的可用性能容量,吞吐量下限也可以得到保证。这种新的下限行为称为下限 v2。为了实现这些保证,下限 v2 可能会导致未设置或超出吞吐量下限的工作负载出现更高延迟。下限 v2 同时适用于 QoS 和自适应 QoS。ONTAP 9.7P6 及更高版本中提供了启用/禁用下限 v2 新行为的选项。

在关键操作(例如 volume move trigger-cutover)期间,工作负载吞吐量可能会降到指定下限之下。即使有足够的可用容量,并且没有进行关键操作,工作负载的吞吐量也可能低于指定下限达 5%。如果下限被过度配置且没有性能容量,某些工作负载就可能会降到指定下限之下。



了解共享和非共享 QoS 策略组

从 ONTAP 9.5 开始,非共享 QoS 策略组可用于为每个成员工作负载分别指定吞吐量上限或下限。共享 策略组行为则取决于策略类型:

  • 对于吞吐量上限而言,分配给共享策略组的工作负载的总吞吐量不能超过指定上限。

  • 对于吞吐量下限而言,共享策略组仅可应用于单个工作负载。

了解自适应 QoS

一般情况下,为存储对象分配的策略组值是固定的。当存储对象的大小发生改变时,需要手动更改该值。例如,当卷中的已用空间量增加时,通常也需要提高为该卷指定的吞吐量上限。

自适应 QoS 可根据工作负载大小的变化自动调整策略组值,并保持 IOPS 与 TB|GB 之间的比例。这在管理大型部署中的成百上千个工作负载时具有极大的优势。

自适应 QoS 通常用于调整吞吐量上限,但是也可用于管理吞吐量下限(当工作负载大小增加时)。工作负载大小表示为向存储对象分配的空间量或存储对象使用的空间量。
在 ONTAP 9.5 及更高版本中,吞吐量下限可应用于已用空间。
  • 已分配空间 策略根据存储对象的额定大小维持 IOPS/TB|GB 比例。如果该比例为 100 IOPS/GB,卷的大小为 150 GB 且保持不变,吞吐量上限将为 15000 IOPS。如果将卷的大小调整为 300 GB,则自适应 QoS 将把吞吐量上限调整为 30000 IOPS。

  • 已用空间 策略(默认策略)根据应用高效存储功能之前的实际数据量维持 IOPS/TB|GB 比例。如果该比例为 100 IOPS/GB,则存储了 100 GB 数据的 150 GB 卷的吞吐量上限为 10000 IOPS。随着已用空间量改变,自适应 QoS 将根据该比例调整吞吐量上限。

从 ONTAP 9.5 开始,可为应用程序指定 I/O 块大小,以便能以 IOPS 和 MBps 表示吞吐量限制。MB/秒限制可用块大小乘以 IOPS 限制来计算。例如,在 IOPS 限制为 6144 IOPS/TB 的情况下,32K 的 I/O 块大小的 MBps 限制为 192 MBps。

吞吐量上限和下限都具有以下行为:

  • 为自适应 QoS 策略组分配工作负载时,上限和下限将立即更新。

  • 调整自适应 QoS 策略组中的工作负载大小时,上限和下限将在大约五分钟后更新。

必须将吞吐量增加至少 10 IOPS,才能使更新生效。

自适应 QoS 策略组始终不共享:定义的吞吐量上限或下限分别应用于每个成员工作负载。

常规支持

下表显示吞吐量上限、吞吐量下限和自适应 QoS 支持方面的差别。

资源或功能

吞吐量上限吞吐量下限吞吐量下限 v2自适应 QoS
ONTAP 版本 9全部9.5 及更高版本9.7 和更高版本9.5 及更高版本
平台全部
  • 全闪存阵列
  • 全闪存阵列
全部
协议全部全部全部全部
FabricPool是(前提是分层策略设置为“无”,并且没有块在云中。)是(前提是分层策略设置为“无”,并且没有块在云中。)
SnapMirror 同步

支持吞吐量上限的工作负载

下表显示 ONTAP 版本 9 中工作负载对吞吐量上限的支持情况。不支持根卷、负载共享镜像和数据保护镜像。

工作负载支持 - 上限

9.5 及更高版本9.8 及更高版本
文件
LUN
SVM
FlexGroup 卷
每个策略组中的多个工作负载
非共享策略组

支持吞吐量下限的工作负载

下表显示 ONTAP 版本 9 中工作负载对吞吐量下限的支持情况。不支持根卷、负载共享镜像和数据保护镜像。

工作负载支持 - 下限

9.5 及更高版本9.8 及更高版本
文件
LUN
SVM
FlexGroup 卷
每个策略组中的多个工作负载
非共享策略组

*从 ONTAP 9.8 开始,启用了 NFS 的 FlexVol 和 FlexGroup 卷中的 Qtree 可支持 NFS 访问。从 ONTAP 9.9.1 开始,启用了 SMB 的 FlexVol 和 FlexGroup 卷中的 Qtree 同时也支持 SMB 访问。

支持自适应 QoS 的工作负载

下表显示 ONTAP 版本 9 中工作负载对自适应 QoS 的支持情况。不支持根卷、负载共享镜像和数据保护镜像。

工作负载支持 - 自适应 QoS

9.5 及更高版本
文件
LUN
SVM
FlexGroup 卷
每个策略组中的多个工作负载
非共享策略组

最大工作负载和策略组数量

下表显示 ONTAP 版本 9 中支持的最大工作负载和策略组数量。

工作负载支持

9.5 及更高版本
每个集群的最大工作负载数量40,000
每个节点的最大工作负载数量40,000
最大策略组数量12,000