Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Configuración de búferes de retraso de gran tamaño en CoS

Puede configurar búferes de retraso de gran tamaño mediante el buffer-size-temporal comando combinado con el q-pic-large-buffer comando. La buffer-size temporal opción en combinación con q-pic-large-buffer puede crear asignación de búfer de retraso extra grande para una o varias colas en una interfaz.

Nota:

Si el tamaño del búfer configurado es demasiado bajo, el tamaño del búfer para la clase de reenvío es predeterminado a 9192 y se muestra el siguiente mensaje de registro: "fwdd_cos_set_delay_bandwidth:queue:16 delay buffer size (1414) demasiado bajo, configuración predeterminada 9192".

Configuring Large Delay Buffers

La siguiente configuración se aplica a los ejemplos siguientes:

  1. Configure dos VLAN (una entrada y una salida) en una interfaz. No se define inicialmente ninguna velocidad de modelado de interfaz para esta configuración.
  2. Habilite la q-pic-large-buffer opción en la misma PIC, además de la buffer-size temporal opción en la cola, para crear un búfer grande en la cola:
    Nota:

    La CLI no proporciona una advertencia cuando se utiliza buffer-size temporal sin q-pic-large-buffer. Cuando utilice buffer-size temporal, compruebe que la configuración también incluye el q-pic-large buffer comando.

  3. Defina cuatro clases de reenvío (nombres de cola) para las cuatro colas:
  4. Configure las clases de reenvío (nombres de cola) incluidas en una asignación de programador, aplicadas a la VLAN de salida:
  5. Establezca las prioridades de cola. Inicialmente, solo se definen las prioridades de cola, no las velocidades de transmisión ni los tamaños de búfer.

Example: Simple Configuration Using Four Queues

Esta configuración asigna 12 500 000 bytes de búfer para cada una de las cuatro colas. Para evitar exceder los límites del cálculo del búfer de retraso, este ejemplo inicial no tiene ninguna velocidad de configuración de interfaz, velocidad de transmisión del programador o porcentaje de porcentaje de tamaño de búfer del programador.

  1. Especifique el búfer de retraso máximo de 4 segundos en cada una de las cuatro colas:

    Especificar buffer-size temporal en algunas o todas las colas usa porcentajes de velocidad de transmisión implícitos (predeterminados) o explícitos como porcentajes de tamaño de búfer de los valores temporales de esas colas. Dado que no hay porcentajes de velocidad de transmisión especificados explícitamente, divida el 100 % entre la cantidad de colas configuradas (colas con programadores configurados en la asignación del programador) para obtener los porcentajes implícitos (predeterminados) de velocidad de transmisión por cola. Cada cola obtiene una velocidad de transmisión implícita (predeterminada) de 100% / 4 = 25%.

    En este ejemplo, se especifica el retraso máximo de 4 segundos en cada cola, sin velocidad de modelado en la interfaz y tasas de transmisión implícitas (predeterminadas) por cola del 25 por ciento, el búfer total para todas las colas temporales de 4 m en una interfaz = 4 segundos * 100 000 000 000 bps máximo de interfaz / 8 bits/bytes = 4 segundos * 12 500 000 bytes = 50 000 000 bytes. Cada cola que especifica 4m temporales obtiene 25% * 50.000.000 = 12.500.000 bytes.

  2. Agregue una velocidad de modelado de 4 Mbps a la interfaz:

    El búfer total para todas las colas temporales de 4 m en una interfaz = 4 seg * 4.000.000 bps model-rate / 8 bits/byte = 4 seg * 500.000 bytes = 2.000.000 bytes. Por lo tanto, cada cola que especifica 4m temporales recibe 25% * 2.000.000 = 500.000 bytes.

Cuando se utiliza buffer-size temporal en cualquier cola de interfaz, si también se utiliza el transmit-rate percent comando, el comando, o buffer-size percent ambos comandos, en cualquiera de las colas de interfaz, los cálculos del tamaño del búfer se vuelven más complejos y es posible que se alcancen los límites de la profundidad de la cola disponible. Si la configuración intenta superar la memoria disponible, al tiempo de confirmación aparecen dos mensajes de registro del sistema en el /var/log/messages archivo, la configuración de clase de servicio de interfaz se ignora y la configuración de clase de servicio de interfaz revierte a los valores predeterminados de dos colas:

Al configurar buffer-size temporal junto con transmit-rate percent o buffer-size percent, o ambos, debe supervisar el registro del sistema para ver si se alcanzó el límite de profundidad de cola disponible.

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

Para agregar velocidades de transmisión explícitas a las cuatro colas:

Por ejemplo, si una interfaz tiene una forma de 4 Mbps, el porcentaje de velocidad de transmisión de 10 para una cola significa que el recurso compartido de ancho de banda para la cola específica es de 0,4 Mbps. Las colas se asignan porciones de los 2.000.000 bytes de memoria intermedia total disponibles para las colas temporales en esta interfaz, proporcionalmente a sus velocidades de transmisión. Las cuatro colas obtienen 200 000, 500 000, 500 000 y 800 000 bytes de búfer de retraso, respectivamente.

Para evitar superar los límites de profundidad de colas y activar mensajes de registro del sistema y comportamiento de configuración predeterminado, al configurar colas con buffer-size temporal y transmit rate percent otras colas (no temporales) con buffer-size percent, se debe seguir la siguiente regla de configuración: Cuando una o más colas en una interfaz están configuradas con buffer-size temporal, la suma de las colas temporales explícitamente configurados porcentajes de velocidad de transmisión más otras colas no temporales configurados explícitamente porcentajes de tamaño de búfer no debe superar los 100 Por ciento.

Si el total de los porcentajes de velocidad de transmisión de las colas temporales y los porcentajes de tamaño de búfer de colas no temporales superan el 100 %, los queue mem underflow mensajes de registro y Failed to compute scheduler params del sistema aparecen en el registro de mensajes, la configuración de COS de CLI explícitamente configurada para la interfaz se ignora y la interfaz revierte a una configuración de CoS predeterminada de dos colas.

Cuando buffer-size temporal se especifica en una cola, si transmit-rate percent también está configurada en la misma cola, la profundidad de la cola configurada se basa en el ancho de banda fraccionado para la cola como lo obtuvo el .transmit-rate percent

Además de los tiempos de retraso temporal especificados para una o más colas mediante el tamaño temporal del búfer, hay otro tiempo de retraso calculado automáticamente para toda la interfaz. El tiempo de retraso de esta interfaz se distribuye en todas las colas no temporales, de manera proporcional a sus porcentajes de velocidad de transmisión implícitos (predeterminados) o explícitos. Si q-pic-large-buffer no está habilitado, el tiempo de retraso de la interfaz es predeterminado de 100 ms. Como se muestra en la tabla 1, cuando q-pic-large-buffer está habilitado, el tiempo de retraso de la interfaz se calcula según la velocidad de modelado configurada para la interfaz. Dado que la velocidad de formación configurada en el ejemplo anterior era de 4 Mbps (> 2.048.000 bps), el tiempo de retraso de la interfaz para la configuración es de 100 msec.

Tabla 1: Tiempos de retraso de interfaz habilitados por q-pic-large-buffer

Velocidad de formación configurada (bps)

Tiempo de retraso de interfaz (msec) utilizado para colas no temporales con q-pic-large-buffer habilitado

Tiempo de retraso predeterminado utilizado (msec) sin q-pic-large-buffer

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

En este ejemplo, se calculan correctamente los límites del búfer de retraso en colas temporales y no temporales:

  1. Sustituto buffer-size percent de buffer-size temporal las colas 0 y 1:

    Esto elimina el requisito de 4 segundos de búfer especificados y lo reemplaza con un límite proporcional del 10 % (o 25 %) del tiempo de retraso total de la interfaz para las colas no temporales. En ambos casos, la profundidad de la cola se calcula en función del recurso compartido del ancho de banda de la interfaz para las colas específicas. Total interfaz Memoria de cola no temporal = velocidad de formación * Tiempo de retraso de la interfaz (Tabla 1) = 4 Mbps * 0,1 segundos = 500 000 bytes por segundo * 0,1 segundos = 50 000 bytes, por lo tanto, las colas 0 y 1 obtienen 10% * 50.000 = 5000 bytes y 25% * 50.000 = 12.500 bytes de búfer de retraso, respectivamente.

  2. Configure buffer-size temporal en las colas 2 y 3:

    Las colas 2 y 3 aún obtienen 500 000 y 800 000 bytes de búfer de retraso, respectivamente, como se calculó anteriormente. Esta configuración obedece a la regla de que la suma de las colas temporales transmite porcentajes de velocidad (25% + 40% = 65%), más los porcentajes de tamaño de búfer de colas no temporales (10% + 25% = 35%) no superan el 100% (65% + 35% <= 100%).

En el siguiente ejemplo se supera el límite del búfer de retraso, lo que activa los mensajes de registro del sistema y el comportamiento predeterminado de dos colas de clase de servicio.

Aumente el porcentaje de tamaño de búfer del 25 % al 26 % para la cola no temporal 1:

Esto viola la regla de configuración de que la suma de los porcentajes de tamaño de búfer de colas no temporales (10% + 26% = 36%), más los porcentajes de velocidad de transmisión de las colas temporales (25% + 40% = 65%) ahora superan el 100% (36% + 65% = 101%). Por lo tanto, aparecen los dos mensajes de registro del sistema siguientes en el /var/log/messages archivo:

Cuando se superan los límites del búfer de retraso, no se utilizan los valores de clase de servicio configurados por cli y la configuración predeterminada de clase de servicio (el mapa predeterminado del programador) se asigna a la interfaz. Esto usa dos colas: el mejor esfuerzo de clase de reenvío (cola 0) tiene una tasa de transmisión porcentaje de 95 y un porcentaje de tamaño de memoria intermedia de 95 y el control de red de clase de reenvío (cola 3) tiene el porcentaje de velocidad de transmisión 5 y el porcentaje de tamaño de búfer 5.