Descubra el cuello de botella para el servidor de escritorio remoto de Windows (servidor Terminal)

11

Tengo Windows Server 2008 R2 (SP1) instalado en mi VMware Host para trabajar como servidor RDS. A veces, mis usuarios remotos pueden ver el retraso / retraso en el servidor RDS. ¿Alguien puede decirme por su experiencia cuáles son las mejores prácticas para encontrar el cuello de botella para este servidor?

Hemal
fuente
1
¿Qué has hecho para tratar de rastrear la latencia? ¿Están los clientes en una red local? Composición del equipo de red? ¿Todos se retrasan al mismo tiempo? Recursos del servidor; procesador (s), RAM, disco? ¿Monitor de rendimiento? Versiones de cliente, extensión, RemoteFX?
Chris S
Si está ejecutando un TS, como VM, ¿cuántas CPU virtuales asignó? Es posible que esté mejor con varias máquinas virtuales con un número menor de CPU.
Zoredache
Gracias por las sugerencias. No he hecho nada para rastrear la latencia. Trataré de averiguar paso a paso ...
Hemal

Respuestas:

16

Como Chris S mencionó, hay varias cosas que pueden contribuir al bajo rendimiento del escritorio remoto. Según mi experiencia, estas son las causas principales, en orden de probabilidad.

Ancho de banda
La causa número 1 de bajo rendimiento con el escritorio remoto es la falta de ancho de banda. Dependiendo exactamente de lo que se esté haciendo, una sesión puede usar desde unos pocos Kbps hasta unos pocos Mbps de ancho de banda. Mis propias pruebas han demostrado que desplazarse por un PDF utilizará hasta 3 Mbps. A medida que disminuye el ancho de banda disponible, también lo hace el rendimiento percibido.

Primero debe determinar las necesidades de ancho de banda de su aplicación. Esto requiere probar en un entorno LAN controlado, luego medir el uso del ancho de banda mientras realiza las tareas normales. Personalmente tuve éxito con NetLimiter en mi estación de trabajo personal. También puede abordar el problema desde otro ángulo y usar NetLimiter para forzar la velocidad de su conexión a cualquier valor de su conexión WAN. Esto debería dar una buena indicación de lo que están viendo sus usuarios remotos.

Una vez que sepa cuánto ancho de banda desea su aplicación, debe determinar si es el factor limitante. Primero, mida el ancho de banda disponible entre el cliente y el servidor. Una excelente herramienta para esto es iperf. Asumiré que tiene suficiente ancho de banda disponible durante una prueba controlada.

A continuación, querrá configurar algún tipo de monitoreo de ancho de banda para ver si los problemas informados por los usuarios se correlacionan con picos en el tráfico u otros indeseables. Mi preferencia es volcar el tráfico de un conmutador o enrutador ntop, ya que proporciona informes útiles en tiempo real e históricos sobre el uso del ancho de banda.

Si tiene problemas de ancho de banda, un cambio fácil es cambiar la configuración de "Experiencia" en la conexión de escritorio remoto. Desactive los estilos visuales y las animaciones, y muchas operaciones de escritorio parecerán mágicamente más rápidas.

Latencia
Otro problema común con las conexiones de escritorio remoto es la latencia. Debe haber un tiempo de ida y vuelta razonablemente rápido entre el cliente y el servidor, o las personas podrán percibir un retraso. Como regla general, la mayoría de las personas comienzan a notar problemas entre los tiempos de ping de 50 y 100 ms.

Afortunadamente, esto suele ser fácil de diagnosticar. Puede configurar herramientas de monitoreo como SmokePing o PRTG Network Monitor para proporcionar informes sobre la latencia entre su servidor de monitoreo y cualquier otro host arbitrario. Incluso puede usar el ping -tcomando incorporado para sesiones cortas. Normalmente, desea ubicar el servidor de monitoreo en la misma LAN que su servidor de escritorio remoto, luego configure el monitoreo tanto para el servidor como para sus clientes. Intente correlacionar informes de problemas con incidentes de tiempo de ping alto.

Si tiene problemas con tiempos de ping altos, use traceroutepara averiguar dónde se está introduciendo el retraso. Si determina que el problema reside en su propia red, considere la posibilidad de introducir el filtro de QoS para priorizar el tráfico en tiempo real, como Escritorio remoto.

Además, tenga cuidado con cualquiera que se conecte a través de un medio inalámbrico, ya sea 802.11 (WiFi), o peor, una conexión satelital. Las conexiones inalámbricas son propensas a la interferencia ambiental que puede causar problemas de latencia extrema en diversas condiciones y durante períodos de tiempo variables. Y usar un escritorio remoto a través de un satélite siempre apesta.

CPU local o memoria Y, por último, es posible que su servidor simplemente esté sobrecargado. Supervise el uso de la CPU y la memoria, especialmente durante las horas pico, para asegurarse de que el servidor sea capaz de atender las solicitudes de manera oportuna.

Una de las herramientas mencionadas anteriormente (PRTG) se puede configurar para monitorear el uso de la CPU y la memoria de un servidor a lo largo del tiempo, y puede producir gráficos que faciliten la correlación de informes de problemas con fallas específicas.

Consejo adicional: si sus usuarios tienen problemas para escribir, especialmente con respecto a que las teclas modificadoras no se aplican correctamente, intente cambiar la configuración de su teclado en el acceso directo de conexión de Escritorio remoto para que la opción Aplicar combinaciones de teclas de Windows esté configurada en On the local computer.

Nic
fuente
Buena respuesta. Administro una granja de 20 servidores TS y las 2 causas más comunes de problemas de rendimiento que vemos son las 2 que enumeró primero en su respuesta: ancho de banda y latencia. Estos 2 factores tienen el mayor impacto en el rendimiento (o rendimiento percibido) en mi opinión. Mis propias pruebas mostraron que un usuario que ejecutaba varias aplicaciones de Office, IE y abría archivos PDF consumía un promedio de 100 Kbps durante un período de 8 horas. Ese es nuestro número de planificación en términos de asignación de ancho de banda por usuario y eso es lo que recomendamos que nuestros clientes tengan para tener sesiones de "buen desempeño".
joeqwerty
Hola, Nic. Muchas gracias por la buena respuesta detallada. Lo revisaré e intentaré resolverlo. Muchas gracias por la respuesta. Gracias a Joeqwerty también por sus comentarios ...
Hemal
Administro una pequeña granja y estoy de acuerdo. También usamos PRTG para ver si los datos históricos coinciden con los problemas reportados. Nuestros dos problemas principales son bandwitch (problemas locales / ISP) y CPU (programas defectuosos en servidores de bajo conteo de núcleos). La mejor manera de ver rápidamente si el ancho de banda es preguntar a los usuarios si el ingreso de texto parece retrasarse.
Gomibushi
Usted mencionó muchas herramientas excelentes, pero ¿qué cantidad de requisitos de ancho de banda de una sesión se pueden reunir a través de WMI? o incluso mejores contadores de rendimiento? Soy nuevo en TS, pero me encargaron mostrar varias estadísticas en una sesión. Gracias de antemano por su tiempo.
codeputer