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
다음 구성은 다음과 같은 예에 적용됩니다.
Example: Simple Configuration Using Four Queues
이 구성은 4개의 큐 각각에 12,500,000개의 버퍼를 할당합니다. 지연 버퍼 계산의 한계를 초과하는 것을 방지하기 위해 이 초기 예에는 인터페이스 셰이핑 속도, 스케줄러 전송 속도 또는 스케줄러 버퍼 크기 퍼센트 구성이 없습니다.
4개 큐 각각에서 최대 4초 지연 버퍼를 지정합니다.
[edit]
set class-of-service schedulers be-Scheduler0 buffer-size temporal 4m
set class-of-service schedulers video-Scheduler1 buffer-size temporal 4m
set class-of-service schedulers voice-Scheduler2 buffer-size temporal 4m
set class-of-service schedulers nc-Scheduler3 buffer-size temporal 4m
일부 또는
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.
인터페이스에 4Mbps의 셰이핑 속도 추가:
[edit]
set class-of-service interfaces ge-0/0/3 unit 201 shaping-rate 4m
인터페이스의 모든 임시 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 큐 기본값으로 다시 전송됩니다.
Mar 11 11:02:10.239 elma-n4 elma-n4 COSMAN_FWDD: queue mem underflow for ge-0/0/3 Mar 11 11:02:10.240 elma-n4 elma-n4 cosman_compute_install_sched_params: Failed to compute scheduler params for ge-0/0/3.Hence retaining defaults
함께 구성 buffer-size temporal
하거나 transmit-rate percent
buffer-size percent
둘 다를 구성할 때 시스템 로그를 모니터링하여 가용 대기열 깊이 제한에 도달한지 여부를 확인해야 합니다.
Example: Using buffer-size temporal with Explicit transmit-rate percent Commands
4개 큐 모두에 명시적 전송률을 추가하기 위해 다음을 제공합니다.
[edit]set class-of-service schedulers be-Scheduler0 transmit-rate percent 10
set class-of-service schedulers video-Scheduler1 transmit-rate percent 25
set class-of-service schedulers voice-Scheduler2 transmit-rate percent 25
set class-of-service schedulers nc-Scheduler3 transmit-rate percent 40
예를 들어 인터페이스가 4Mbps로 형성된 경우, 큐의 전송 속도 10 비율은 특정 큐에 대한 대역폭 공유가 0.4Mbps입니다. 큐는 이 인터페이스의 임시 큐에서 사용 가능한 2,000,000개의 총 버퍼의 일부분을 할당합니다. 이는 전송 속도에 비례해 해당됩니다. 4개의 큐는 각각 200,000, 500,000, 500,000 및 800,000개의 지연 버퍼를 제공합니다.
대기열 깊이 제한을 초과하고 시스템 로그 메시지와 기본 구성 동작을 트리거하는 것을 방지하려면 인터페이스 buffer-size temporal
transmit rate percent
buffer-size percent
buffer-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입니다.
구성된 셰이핑 속도(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 |
다음 예제는 임시 큐와 비 임시 큐 모두에서 지연 버퍼 제한을 적절하게 계산합니다.
대기
buffer-size percent
열buffer-size temporal
0 및 1 대체:[edit]
delete class-of-service schedulers be-Scheduler0 buffer-size temporal 4m
delete class-of-service schedulers video-Scheduler1 buffer-size temporal 4m
set class-of-service schedulers be-Scheduler0 buffer-size percent 10
set class-of-service schedulers video-Scheduler1 buffer-size percent 25
이를 통해 하드 지정된 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의 지연 버퍼를 각각 제공합니다.
큐
buffer-size temporal
2 및 3에서 구성:[edit]
set class-of-service schedulers voice-Scheduler2 buffer-size temporal 4m
set class-of-service schedulers voice-Scheduler2 transmit-rate percent 25
set class-of-service schedulers nc-Scheduler3 buffer-size temporal 4m
set class-of-service schedulers nc-Scheduler3 transmit-rate percent 40
큐 2와 3은 여전히 이전 계산과 같은 500,000 및 800,000 bytes의 지연 버퍼를 제공합니다. 이 구성은 임시 대기열의 합계가 전송 속도 비율(25% + 40% = 65%)과 비 임시 큐 버퍼 크기 비율(10% + 25% = 35%)이 100%(65% + 35% < = 100%)를 초과하지 않는 규칙을 고수합니다.
다음 예제는 지연 버퍼 제한을 초과하여 시스템 로그 메시지와 기본 2 큐의 서비스 클래스 동작을 트리거합니다.
비 임시 큐에서 버퍼 크기 비율을 25%에서 26%로 높이기 1:
[edit]
set class-of-service schedulers video-Scheduler1 buffer-size percent 26
이는 비 임시 큐 버퍼 크기 비율(10% + 26% = 36%)과 임시 대기열의 전송 속도 비율(25% + 40% = 65%)의 합계가 이제 100%(36% + 65% = 101%)를 초과하는 구성 규칙을 위반합니다. 따라서 파일에는 다음과 같은 2개의 시스템 로그 메시지가 표시됩니다 /var/log/messages
.
Mar 23 18:08:23 elma-n4 elma-n4 COSMAN_FWDD: %PFE-3: queue mem underflow for ge-0/0/3 q_num(3) Mar 23 18:08:23 elma-n4 elma-n4 cosman_compute_install_sched_params: %PFE-3: Failed to compute scheduler params for ge-0/0/3.Hence retaining defaults
지연 버퍼 제한이 초과되면 CLI 구성된 서비스 등급 설정이 사용되지 않습니다. 기본 서비스 등급 구성(기본 스케줄러 맵)이 인터페이스에 할당됩니다. 이는 2개의 큐를 사용하며, 포워드 클래스 best-effort(큐 0)는 전송 속도 95%와 버퍼 크기 95%를, 포워링 클래스 네트워크 제어(큐 3)는 전송 속도 5와 버퍼 크기 퍼센트 5를 나타냅니다.
queue 0: 1,187,500 Bytes queue 1: 9,192 Bytes queue 2: 9,192 Bytes queue 3: 62,500 Bytes