Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

CoS에서 큰 지연 버퍼 구성

명령과 결합된 buffer-size-temporal 명령을 사용하여 매우 큰 지연 버퍼를 구성할 수 q-pic-large-buffer 있습니다. 이 buffer-size temporal 옵션과 함께 q-pic-large-buffer 인터페이스에서 하나 또는 여러 큐에 대해 추가 큰 지연 버퍼 할당을 생성할 수 있습니다.

참고:

구성된 버퍼 크기가 너무 적을 경우 포링 클래스의 버퍼 크기는 기본 9192로 표시되고 다음 로그 메시지는 "fwdd_cos_set_delay_bandwidth:queue:16 delay buffer size(1414)를 너무 낮게 설정하여 기본 9192로 설정합니다."

Configuring Large Delay Buffers

다음 구성은 다음과 같은 예에 적용됩니다.

  1. 하나의 인터페이스에 2개의 VLA(1개의 ingress, 1 egress)를 구성합니다. 인터페이스 셰이핑 속도는 처음에는 이 구성에 정의되지 않습니다.
  2. 큐에 q-pic-large-buffer 있는 옵션 외에도 동일한 PIC buffer-size temporal 에 있는 옵션을 사용하여 큐에 대형 버퍼를 생성합니다.
    참고:

    를 CLI 사용할 때 경고가 표시되지 buffer-size temporal 않습니다 q-pic-large-buffer. 사용하는 경우 buffer-size temporal구성에 해당 명령이 포함되어 있는지 q-pic-large buffer 검증합니다.

  3. 4개의 큐에 대해 4개의 포우링 클래스(큐 이름)를 정의합니다.
  4. 스케줄러 맵에 포함된 포우링 클래스(큐 이름)를 egress VLAN에 적용합니다.
  5. 큐 우선 순위를 설정합니다. 큐 우선 순위만 먼저 정의되어 속도 또는 버퍼 크기를 전송하지 않습니다.

Example: Simple Configuration Using Four Queues

이 구성은 4개의 큐 각각에 12,500,000개의 버퍼를 할당합니다. 지연 버퍼 계산의 한계를 초과하는 것을 방지하기 위해 이 초기 예에는 인터페이스 셰이핑 속도, 스케줄러 전송 속도 또는 스케줄러 버퍼 크기 퍼센트 구성이 없습니다.

  1. 4개 큐 각각에서 최대 4초 지연 버퍼를 지정합니다.

    일부 또는 buffer-size temporal 모든 큐에서 지정하는 경우, 내재적(기본) 또는 명시적 전송 속도 비율을 해당 큐에 대한 임시 값의 버퍼 크기 비율로 사용합니다. 명시적으로 지정된 전송 속도 비율이 아니기 때문에 구성된 큐 수(스케줄러 맵에서 구성된 스케줄러가 있는 큐)를 100% 분할하여 큐당 암시적(기본)의 전송 속도 비율을 얻습니다. 각 큐는 100%/4 = 25%의 암시적(기본) 전송율을 얻습니다.

    이 예제에서는 인터페이스에서 셰이핑 속도 없이 각 큐에서 최대 4초 지연을 지정하고 큐당 25%의 쉐이핑 속도(기본)를 지정하며 인터페이스의 모든 임시 4m 큐에 대한 총 버퍼 = 4초 = 4초 * 최대 인터페이스 bps/8비트/바이트 = 4초 * 12,500,000 바이트 = 50,000,000 바이트 임시 4m을 지정하는 각 큐는 25%를 차지합니다 * 50,000,000 = 12,500,000 bytes.

  2. 인터페이스에 4Mbps의 셰이핑 속도 추가:

    인터페이스의 모든 임시 4m 큐에 대한 총 버퍼 = 4초 * 4,000,000bps 셰이핑 속도/8비트/바이트 = 4초 * 500,000 바이트 = 2,000,000 바이트. 따라서 임시 4m을 지정하는 각 큐는 25%를 수신합니다 * 2,000,000 = 500,000 bytes.

buffer-size temporal 인터페이스 큐에서 사용하는 경우, transmit-rate percent buffer-size percent 명령이나 명령 또는 두 명령 모두를 모든 인터페이스 큐에서 사용하면 버퍼 크기 계산이 더욱 복잡해지고 사용 가능한 큐 깊이의 한계에 도달할 수 있습니다. 구성이 가용 메모리를 초과하려고 시도하면 커 /var/log/messages 밋 시 2개의 시스템 로그 메시지가 파일에 나타나 인터페이스 서비스 등급 구성이 무시되고 인터페이스의 서비스 등급 구성이 2 큐 기본값으로 다시 전송됩니다.

함께 구성 buffer-size temporal 하거나 transmit-rate percent buffer-size percent둘 다를 구성할 때 시스템 로그를 모니터링하여 가용 대기열 깊이 제한에 도달한지 여부를 확인해야 합니다.

Example: Using buffer-size temporal with Explicit transmit-rate percent Commands

4개 큐 모두에 명시적 전송률을 추가하기 위해 다음을 제공합니다.

예를 들어 인터페이스가 4Mbps로 형성된 경우, 큐의 전송 속도 10 비율은 특정 큐에 대한 대역폭 공유가 0.4Mbps입니다. 큐는 이 인터페이스의 임시 큐에서 사용 가능한 2,000,000개의 총 버퍼의 일부분을 할당합니다. 이는 전송 속도에 비례해 해당됩니다. 4개의 큐는 각각 200,000, 500,000, 500,000 및 800,000개의 지연 버퍼를 제공합니다.

대기열 깊이 제한을 초과하고 시스템 로그 메시지와 기본 구성 동작을 트리거하는 것을 방지하려면 인터페이스 buffer-size temporal transmit rate percent buffer-size percentbuffer-size temporal에서 큐를 구성할 때 다음 구성 규칙을 따르야 합니다. 인터페이스에서 1개 이상의 큐를 구성할 때 명시적으로 구성된 임시 큐의 합계와 명시적으로 구성된 비-임시 큐의 합계는 명시적으로 구성된 버퍼 크기 비율이 100을 초과하지 않도록 합니다. 비율.

임시 큐의 총이 속도 비율과 비 임시 큐 버퍼 크기의 비율이 100%를 초과하는 경우, queue mem underflow Failed to compute scheduler params 메시지 로그에 시스템 로그 메시지가 나타나고 인터페이스에 대해 명시적으로 구성된 CLI CoS 구성이 무시되고 인터페이스가 2 큐 기본 CoS 구성으로 되락습니다.

buffer-size temporal 에 지정된 경우, transmit-rate percent 동일한 큐에 구성되는 경우, 구성된 큐 깊이는 지정된 에서 획득한 큐의 일부 대역폭을 기반으로 합니다 transmit-rate percent.

버퍼 크기 임시를 사용하여 하나 이상의 큐에 대해 지정된 시간 지연 시간 외에도, 전체 인터페이스에 대해 또 다른 지연 시간이 자동으로 계산됩니다. 이러한 인터페이스 지연 시간은 암시적(기본) 또는 명시적 전송 속도 비율에 비례하여 모든 비 임시 큐에 분산됩니다. 활성화 q-pic-large-buffer 되지 않은 경우 인터페이스 지연 시간(time time default)은 100 ms로 설정됩니다. 표 1에서와 같이 활성화 q-pic-large-buffer 되면 인터페이스에 대해 구성된 셰이핑 속도에 따라 인터페이스 지연 시간이 계산됩니다. 위 예제에서 구성된 셰이핑 속도는 4Mbps(> 2,048,000bps)이기 때문에 구성에 대한 인터페이스 지연 시간은 100 msec입니다.

표 1: q-pic-large-large 버퍼 를 통해 지원되는 인터페이스 지연 시간

구성된 셰이핑 속도(bps)

q-pic-large-buffer를 활성화한 비 임시 큐에 사용되는 인터페이스 지연 시간(msec)

기본 지연 시간 사용(msec) q-pic-large-large 버퍼 없는 경우

64,000-255,999

4000

100

256,000 - 511,999

2000

100

512,000 - 102,3999

1000

100

1,024,000 - 2,047,999

500

100

>= 2,048,000

100

100

다음 예제는 임시 큐와 비 임시 큐 모두에서 지연 버퍼 제한을 적절하게 계산합니다.

  1. 대기 buffer-size percentbuffer-size temporal 0 및 1 대체:

    이를 통해 하드 지정된 4초의 버퍼링에 대한 요구 사항을 삭제하고 비 임시 큐에 대한 총 인터페이스 지연 시간이 총 10%(또는 25%)의 비례 제한으로 대체됩니다. 두 경우 모두, 특정 큐에 대한 인터페이스 대역폭 점유율을 기반으로 큐 깊이가 계산됩니다. 총 인터페이스 비 임시 큐 메모리 = 셰이핑 속도 * 인터페이스 지연 시간(표 1) = 4Mbps * 0.1초 = 초당 500,000 bytes * 0.1초 = 50,000 bytes, 따라서 대기열 0과 1 큐는 10% * 50,000개 = 5000 bytes 및 25% * 50,000 = 12,500 bytes의 지연 버퍼를 각각 제공합니다.

  2. buffer-size temporal 2 및 3에서 구성:

    큐 2와 3은 여전히 이전 계산과 같은 500,000 및 800,000 bytes의 지연 버퍼를 제공합니다. 이 구성은 임시 대기열의 합계가 전송 속도 비율(25% + 40% = 65%)과 비 임시 큐 버퍼 크기 비율(10% + 25% = 35%)이 100%(65% + 35% < = 100%)를 초과하지 않는 규칙을 고수합니다.

다음 예제는 지연 버퍼 제한을 초과하여 시스템 로그 메시지와 기본 2 큐의 서비스 클래스 동작을 트리거합니다.

비 임시 큐에서 버퍼 크기 비율을 25%에서 26%로 높이기 1:

이는 비 임시 큐 버퍼 크기 비율(10% + 26% = 36%)과 임시 대기열의 전송 속도 비율(25% + 40% = 65%)의 합계가 이제 100%(36% + 65% = 101%)를 초과하는 구성 규칙을 위반합니다. 따라서 파일에는 다음과 같은 2개의 시스템 로그 메시지가 표시됩니다 /var/log/messages .

지연 버퍼 제한이 초과되면 CLI 구성된 서비스 등급 설정이 사용되지 않습니다. 기본 서비스 등급 구성(기본 스케줄러 맵)이 인터페이스에 할당됩니다. 이는 2개의 큐를 사용하며, 포워드 클래스 best-effort(큐 0)는 전송 속도 95%와 버퍼 크기 95%를, 포워링 클래스 네트워크 제어(큐 3)는 전송 속도 5와 버퍼 크기 퍼센트 5를 나타냅니다.