buffer-size
语法
buffer-size (percent percent | remainder);
buffer-size (exact | percent percentage | remainder | temporal);
层次结构级别
[edit class-of-service schedulers scheduler-name]
[edit class-of-service schedulers scheduler-name]
描述
指定时间表配置中的缓冲区大小。
在所有交换机上,请使用以下流程配置分配给特定输出队列的端口缓冲区比例:
配置时间表并设置
buffer-size
选项。使用时间表图将时间表映射到映射到要将缓冲区大小应用到的队列的转发类。
例如,假设您想要更改 FCoE 流量的专用缓冲区分配。FCoE 流量映射到 fcoe 转发类,fcoe 转发类映射到队列 3(这是默认配置)。要使用默认 FCoE 信息流映射,请在时间表映射配置中将时间表映射到
fcoe
转发类。如果您使用增强型传输选择 (ETS) 层次计划,请将时间表映射与要在携带 FCoE 流量的出口端口上使用的流量控制配置文件相关联。如果您使用直接端口计划,请跳过此步骤。
如果您使用 ETS,请将包含时间表图的信息流控制配置文件与所需出口端口相关联。例如,您可将流量控制配置文件与承载 FCoE 流量的端口相关联。如果您使用端口调度,请将时间表图与所需的出口端口相关联。
队列 3 映射到 fcoe 转发类,因此映射到 FCoE 流量,接收语句中指定的
buffer-size
专用缓冲区分配。
端口上所有队列明确配置的缓冲区大小百分比总数不能超过 100%。
QFX10000 交换机
在 QFX10000 交换机上,缓冲区大小是端口带宽毫秒内的时间量,队列可用于在拥塞期间继续传输数据包,然后缓冲区用完并开始丢弃数据包。
交换机可为端口上的所有队列使用总计 100 毫秒(组合)的缓冲区空间。配置为 1% 的缓冲区大小等于 1 毫秒的缓冲区使用。缓冲区大小为 15%(尽力服务的默认值和网络控制队列)等于 15 毫秒的缓冲区使用。
交换机的总缓冲区大小为 4 GB。40 千兆位端口最多可以使用 500 MB 的缓冲空间,相当于 40 千兆位端口上的 100 毫秒端口带宽。10 千兆位端口最多可以使用 125 MB 的缓冲空间,相当于 10 千兆位端口上的 100 毫秒端口带宽。端口上八个输出队列的总缓冲区大小不能超过 100%,这相当于一个端口可用的全部 100 毫秒总缓冲区。任何队列可使用的最大缓冲空间空间也为 100 毫秒(相当于 100% 缓冲区大小的配置),但如果一个队列使用所有缓冲区,则没有其他队列接收缓冲空间。
没有最低缓冲区分配,因此可以将队列的缓冲区大小设置为零 (0)。但是,我们建议在使 PFC 支持无损传输的队列上,您至少分配 5 毫秒(最低缓冲区大小为 5%)。两个默认无损队列(fcoe 和无损)的缓冲区大小默认值为 35 毫秒 (35%)。
队列缓冲区分配是动态的,可根据需要在端口之间共享。但是,队列不能使用超过其配置的缓冲空间量。例如,如果您使用默认 CoS 配置,则尽力服务队列最多可接收 15 毫秒的缓冲空间,因为尽力服务队列的默认传输速率为 15%。
如果交换机出现拥塞,队列将继续接收其全部缓冲区分配,直至占用 4 GB 缓冲空间的 90%。使用 90% 的缓冲区空间时,每个端口的缓冲区空间量(按队列)按每个队列配置的缓冲区大小比例减少。随着消耗的缓冲空间百分比上升到 90% 以上,每个端口的缓冲区空间量(按队列)继续减少。
在 40 千兆位端口上,由于总缓冲区为 4 GB,并且一个端口可使用的最大缓冲区为 500 MB,因此最多 7 个 40 千兆位端口可占用其 100 毫秒的完整缓冲区空间分配。但是,如果第八个 40 千兆位端口需要 500 MB 的缓冲区空间,则缓冲区分配按比例减少,因为缓冲区消耗超过 90%。
在 10 千兆位端口上,由于总缓冲区为 4 GB,并且端口可使用的最大缓冲区为 125 MB,因此最多 28 个 10 千兆位端口可以占用其 100 毫秒的缓冲空间分配。但是,如果第 29 个 10 千兆端口需要 125 MB 的缓冲区空间,则缓冲区分配按比例减少,因为缓冲区消耗率超过 90%。
QFX5100、EX4600、QFX3500 和 QFX3600 交换机以及 QFabric 系统
设置将时间表绑定到时间表图配置中的出口队列的专用缓冲区大小。交换机按分层方式将空间从全局专用缓冲区池分配至端口和队列。交换机为每个出口端口分配同等数量的专用缓冲区,因此每个出口端口接收相同数量的专用缓冲空间。每个端口的专用缓冲区空间量不可配置。
但是,该 buffer-size
语句允许您控制每个端口将其专用缓冲区份额分配至其队列的方式。例如,如果端口仅使用两个队列来转发信息流,则可以配置端口,将所有专用缓冲区空间分配给这两个队列,并避免在未使用的队列上浪费缓冲空间。我们建议缓冲区大小应与最低保证传输速率 () transmit-rate
相同。
默认
不同交换机的默认行为不同。
QFX10000 交换机
如果不配置缓冲区大小且未显式配置队列时间表,则默认缓冲区大小是队列的默认传输速率。如果显式配置队列时间表,则不使用默认缓冲区分配。如果显式配置队列时间表,请为时间表中的每个队列配置缓冲区大小,请记住队列的总缓冲区大小不能超过 100%(100 毫秒)。
表 1 显示了 QFX10000 交换机上的默认队列缓冲区大小。默认缓冲区大小与每个默认队列的默认传输速率相同:
队列编号 |
转发类 |
传输速率 |
缓冲区大小 |
---|---|---|---|
0 |
尽力服务 |
15% |
15% |
3 |
fcoe |
35% |
35% |
4 |
无损 |
35% |
35% |
7 |
网络控制 |
15% |
15% |
默认情况下,只有映射到默认转发类的队列才能从端口缓冲池接收缓冲区空间。(缓冲区不会浪费在不携带流量的队列上。)
QFX5100、EX4600、QFX3500 和 QFX3600 交换机以及 QFabric 系统
该端口为具有显式配置时间表缓冲区大小的队列分配专用缓冲区。如果未显式为队列配置时间表缓冲区大小,则端口将首先为显式配置的队列提供服务。然后,端口在具有显式附加时间表且 没有 显式配置缓冲区大小配置的队列中平分剩余的专用缓冲区。(如果配置时间表,但未配置缓冲区大小参数,则默认值等同于使用 remainder
选项配置缓冲区大小。)
如果在端口上使用默认时间表和时间表图(无显式时间表配置),则端口将专用缓冲池分配至基于默认调度的队列。 表 2 显示默认队列缓冲区大小。默认缓冲区大小与每个默认队列的默认传输速率相同:
队列编号 |
转发类 |
传输速率 |
缓冲区大小 |
---|---|---|---|
0 |
尽力服务 |
5% |
5% |
3 |
fcoe |
35% |
35% |
4 |
无损 |
35% |
35% |
7 |
网络控制 |
5% |
5% |
8 |
mcast |
20% |
20% |
默认情况下,只有映射到默认转发类的队列才能从端口缓冲池接收缓冲区空间。(缓冲区不会浪费在不携带流量的队列上。)
OCX 系列交换机不支持无损传输。在 OCX 系列交换机上,不要将流量映射到无损默认 fcoe 和无损转发类。OCX 系列默认 DSCP 分类不会将流量映射到 fcoe 和无损转发类,因此默认情况下,OCX 系统不会将信息流分类到这些转发类。(在其他交换机上,fcoe 和无损转发类为第 2 层信息流提供无损传输。OCX 系列交换机不支持无损第 2 层传输。)活动转发类(best-effort
和network-control
mcast
)共享分配给和no-loss
转发类的fcoe
未使用的带宽。
在 EX 系列交换机上(EX4300 交换机除外),队列 0 到 7 的默认时间表传输速率和缓冲区大小百分比分别为 95、0、0、0、0、0 和 5%。在 EX4300 交换机上,队列 0 到 11 的默认时间表传输速率和缓冲区大小分别为可用缓冲区总量的 75、0、0、5、0、0、0、15、0、0 和 5%。
选项
percent percent |
分配给映射到时间表的队列(或队列)的端口专用缓冲区池的百分比。 |
remainder |
端口满足显式配置缓冲区的需求之后,剩余专用缓冲区池。端口在显式连接到时间表但没有显式缓冲区大小配置(或 |
exact |
(EX8200 独立交换机和 EX8200 虚拟机箱除外)强制执行确切的缓冲区大小。配置此选项时,队列上将禁用共享,仅将使用限制为保证缓冲区。 |
percentage |
缓冲区大小占总缓冲区的比例。 |
remainder |
剩余缓冲区可用。 |
temporal |
(EX4200 独立交换机、EX4200 虚拟机箱、EX4300 独立交换机、EX4300 虚拟机箱、EX8200 独立交换机和仅限 EX8200 虚拟机箱)缓冲区大小作为时间值。 |
所需权限级别
接口 — 要在配置中查看此语句。接口控制 — 要将此语句添加到配置中。
发布信息
Junos OS 9.0 版中引入的语句。