lunes, 16 de julio de 2007

Asignación de ancho de banda para conexiones Terminal Services sobre RDP

Actualmente, y cada vez en mayor cantidad, existen muchas aplicaciones (de video, audio, impresión, etc.) que trabajan sobre conexiones Terminal Server sobre RDP, las cuales generan, en algunos casos, tráfico excesivo entre el cliente y el servidor.

En un entorno en el cual el ancho de banda es bajo, estas aplicaciones compiten por el ancho de banda disponible. Como resultado, este tráfico debe competir además, con el tráfico de fondo, como por ejemplo trabajos de impresión que viajan a un Print Server, entre otras cosas.

En Windows Vista y Longhorn (Windows Server 2008 para quienes todavía no estén familiarizados), este problema se ha resuelto con la introducción de un simple esquema en el cual se ha ajustado el porcentaje de ancho de banda asignado a video, y el resto se dirije a un canal de tráfico virtual. Por defecto, esta asignación es: 70% Video - 30% para el canal virtual. En otras palabras, cuando el uso del ancho de banda se encuentre en un nivel elevado, el tráfico correspondiente a video tendrá un 70% del ancho de banda disponible.

Si bien este esquema no resuelve el problema de manera efectiva, pueden existir algunos escenarios que requieran algún ajuste adicional. Existen algunas claves de registry que pueden modificarse:

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TERMDD
      • FlowControlDisable:
          • Cuando este valor se setea en 1, se deshabilita el nuevo algoritmo de control de flujo, haciendo escencial la metodología FIFO o PEPS (First-In-First-Out o Primero-Entra-Primero-Sale) para todos los paquetes solicitados. Esta es la funcionalidad que provee Windows Server 2003. El valor por defecto es 0.
      • FlowControlDisplayBandwidth/FlowControlChannelBandwidth:
          • Ambos valores en conjunto determinan la distribución del ancho de banda entre el display y los canales virtuales. Se pueden setear entre el rango de 0-255. Por ejemplo 100-100 distribuirá equitativamente el tráfico entre Video y VCs (Virtual Channels). El valor por defecto es de 70 para FlowControlDisplayBandwidth, y 30 para FlowControlChannelBandwidth.
      • FlowControlChargePostCompression:
          • En 1, este valor basará la distribución del ancho de banda en el uso de Post-Compression. El valor por defecto es 0, significando que la distribución se aplica en el modo Pre-Compressed.
Saludos.

Marcelo.

2 comentarios:

Fer dijo...

Pero hay alguna manera de priorizar el trafico de esta forma en Windows 2003?

Imagino que no.. pero, Habria alguna aplicacion propietaria que pudiera implementar esto?

Actualmente tengo un problema de latencia con las sesiones de TS, y es que al imprimir, copiar un archivo, etc. el BW se colapsa y la sesion se ralentiza...

Alguna idea?

Gracias.

Fer.

Marcelo di Iorio dijo...

Fer:

Una solución que se me ocurre es tener una placa de red dedicada al tráfico RDP en este servidor que me comentás. De esta forma evitarías que se colapse, siempre y cuando esa sea la causa real.

Saludos.

Marcelo.