Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

buffer-size

语法

层次结构级别

描述

在调度程序配置中指定缓冲区大小。

在所有交换机上,使用以下过程配置分配给特定输出队列的端口缓冲区比例:

  1. 配置调度程序并设置 buffer-size 选项。

  2. 使用调度程序图将调度器映射到映射到要应用缓冲区大小的队列的转发类。

    例如,假设您要更改 FCoE 流量的专用缓冲区分配。FCoE 流量映射到 fcoe 转发类,fcoe 转发类映射到队列 3(这是默认配置)。要使用默认 FCoE 流量映射,请在调度程序映射配置中将调度程序映射到 fcoe 转发类。

  3. 如果您使用的是增强型传输选择 (ETS) 分层调度,请将调度程序图与要在承载 FCoE 流量的出口端口上使用的流量控制配置文件相关联。如果您使用的是直接端口调度,请跳过此步骤。

  4. 如果您使用的是 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 语句允许您控制每个端口将其专用缓冲区份额分配给其队列的方式。例如,如果端口仅使用两个队列来转发流量,则可以将该端口配置为将其所有专用缓冲区空间分配给这两个队列,并避免在未使用的队列上浪费缓冲区空间。建议缓冲区大小应与最小保证传输速率 (The ) transmit-rate的大小相同。

默认

默认行为在不同的交换机上有所不同。

QFX10000交换机

如果未配置缓冲区大小并且未显式配置队列调度程序,则默认缓冲区大小为队列的默认传输速率。如果显式配置队列调度程序,则不使用缺省缓冲区分配。如果显式配置队列调度程序,请为调度程序中的每个队列配置缓冲区大小,请记住队列的总缓冲区大小不能超过 100% (100 毫秒)。

表 1 显示了 QFX10000 交换机上的默认队列缓冲区大小。默认缓冲区大小与每个默认队列的默认传输速率相同:

表 1: 默认输出队列缓冲区大小(QFX10000交换机)

队列编号

转发类

传输速率

缓冲区大小

0

尽力而为。

15%

15%

3

FCoE

35%

35%

4

无损失

35%

35%

7

网络控制

15%

15%

缺省情况下,只有映射到缺省转发类的队列才会从端口缓冲池接收缓冲区空间。(缓冲区不会浪费在不携带流量的队列上。

QFX5100、EX4600、QFX3500和QFX3600交换机以及 QFabric 系统

该端口将专用缓冲区分配给具有显式配置的计划程序缓冲区大小的队列。如果未为队列显式配置调度程序缓冲区大小,则端口将首先为显式配置的队列提供服务。然后,端口将剩余的专用缓冲区平均分配给具有显式附加调度程序 且未 显式配置缓冲区大小配置的队列。(如果配置了调度程序,但未配置缓冲区大小参数,则默认值等效于使用该选项配置 remainder 缓冲区大小。

如果在端口上使用缺省调度程序和调度器图(无显式调度程序配置),则该端口会根据缺省调度将其专用缓冲池分配给队列。 表 2 显示了默认队列缓冲区大小。默认缓冲区大小与每个默认队列的默认传输速率相同:

表 2: 默认输出队列缓冲区大小(QFX5100、EX4600、QFX3500 和 QFX3600 交换机以及 QFabric 系统)

队列编号

转发类

传输速率

缓冲区大小

0

尽力而为。

5%

5%

3

FCoE

35%

35%

4

无损失

35%

35%

7

网络控制

5%

5%

8

麦克卡斯特

20%

20%

缺省情况下,只有映射到缺省转发类的队列才会从端口缓冲池接收缓冲区空间。(缓冲区不会浪费在不携带流量的队列上。

在 EX 系列交换机(EX4300 交换机除外)上,队列 0 到 7 的默认调度程序传输速率和缓冲区大小百分比分别为 95%、0%、0%、0%、0% 和 5%。在 EX4300 交换机上,队列 0 到 11 的默认调度程序传输速率和缓冲区大小分别为总可用缓冲区的 75%、0、0、0、5、0、0、0、0、15、0、0 和 5%。

选项

percent percent

分配给映射到调度程序的一个或多个队列的端口专用缓冲池的百分比。

remainder

端口之后剩余的专用缓冲池满足显式配置缓冲区的需求。端口将剩余缓冲区平均分配给显式连接到调度程序但没有显式缓冲区大小配置(或 remainder 配置为缓冲区大小)的队列。

exact

强制实施确切的缓冲区大小。配置此选项后,将在队列上禁用共享,从而将使用情况限制为仅保证缓冲区。

percentage

缓冲区大小占总缓冲区的百分比。

remainder

剩余缓冲区可用。

temporal

缓冲区大小作为时态值。

所需权限级别

接口 — 在配置中查看此语句。接口控制 — 将此语句添加到配置中。

发布信息

Junos OS 9.0 版中引入的语句。