Ajuste de rendimiento de red de Windows 7 para LAN

8

Quiero ajustar la pila TCP de Windows 7 para la velocidad en un entorno LAN.

Un poco de información de fondo: tengo un Citrix XenServer configurado con Windows 2008R2, Windows 7 y Debian Lenny con el kernel Citrix, las máquinas Windows tienen herramientas instaladas, el iperfproceso del servidor se ejecuta en un host diferente, también Debian Lenny. Los servidores están inactivos, las pruebas se repitieron varias veces para confirmar los resultados.

Si bien las pruebas con iperf2008R2 pueden alcanzar alrededor de 600-700Mbps sin ningún ajuste, no puedo encontrar ninguna guía o conjunto de parámetros que haga que Windows 7 logre algo por encima de 150Mbps sin cambiar el tamaño de la ventana TCP utilizando el -wparámetro iperf.

He intentado utilizar netsh autotuininga disabled, experimental, normaly highlyrestricted- sin cambio. Cambiar congestionproviderno hace nada, solo como rssy chimney.

Establecer todas las configuraciones disponibles en los mismos valores que en Windows 2008R2 host no ayuda.

Para resumir:

  • Configuración predeterminada de Windows 2008R2: 600-700 Mbps
  • Debian, configuración predeterminada: 600 Mbps
  • Configuración predeterminada de Windows 7: 120 Mbps
  • Windows 7 predeterminado, iperf -w 65536400-500Mbps

Si bien los 400 Mbps de rendimiento que faltan culpo a la horrible NIC Realtek en el host XenServer (puedo hacer ~ 980 Mbps desde mi computadora portátil al servidor iperf) no explica por qué Windows 7 no puede lograr un buen rendimiento sin ajustar manualmente el tamaño de la ventana en El nivel de aplicación.

Entonces, ¿cómo ajustar Windows 7?

Hubert Kario
fuente

Respuestas:

2

Intente habilitar el motor de descarga RSS y TCP :

netsg int tcp set global rss=enabled
netsh int tcp set global chimney=enabled 
alvosu
fuente
Ese es el valor predeterminado en Windows 2008R2, no ayuda.
Hubert Kario
Intenta deshabilitarlos.
joeqwerty 03 de
deshabilitado, habilitado no hay diferencia
Hubert Kario
2

Podría ser un controlador de red diferente en Windows 2008R2 frente a Windows 7. Además, ¿xenserver siempre proporciona el mismo nic virtual a Windows 2008R2 y Windows 7? Porque si es diferente, se cargará un controlador diferente.

Puede haber algunas diferencias de rendimiento.

EDITAR: Acabo de recordar que Windows 7 por defecto tiene buffers de envío / recepción muy pequeños. En algunas aplicaciones que estaba desarrollando descubrí que bajo Windows 7 era algo patético como 8kB. Bajo ubuntu linux es de alrededor de 120kB. Puede leer en alguna parte que el límite es 64kB. Esto es realmente incorrecto para versiones posteriores de Windows. He descubierto que puede configurarse incluso a 1 MB o más. Aunque se notará un pequeño aumento de rendimiento cuando es tan grande.

Este enlace proporciona algunos parámetros de ajuste tcp en el registro que se aplican a todo el sistema. Tenga en cuenta que muchas de esas opciones pueden ser anuladas por las propias aplicaciones.

http://www.psc.edu/networking/projects/tcptune/ http://www.psc.edu/networking/projects/tcptune/OStune/winxp/winxp_stepbystep.html

Intente aumentar el tamaño de la ventana y enviar / recibir buffers. Esperemos que esas configuraciones de registro en el enlace aún se apliquen en Windows 7.

Mate
fuente
Entonces, ¿por qué si configuro una ventana TCP más grande la velocidad aumenta? Y no, XenServer no cambia la NIC presentada.
Hubert Kario
Solo me refería a que esto podría ser una razón. Soy desarrollador y estoy desarrollando una aplicación que está cargando muchos datos a una velocidad cercana a los gigabits. Sin embargo, al desarrollar en virtualbox descubrí diferencias de rendimiento con diferentes controladores nic. Sí, aumentar la ventana TCP aumentará el rendimiento porque habrá menos paquetes de retorno de reconocimiento. ¿Ha apagado todas las otras máquinas virtuales en Xen para asegurarse de que Windows es el único que lo usa?
Matt
Mi uso habitual de la red en el host Xen es inferior a 60-90KiB / s. Y revisó el controlador, carga el mismo. Como nota al margen, Xen y Virtualbox son hipervisores completamente diferentes, uno es de tipo 1 y el segundo es de tipo 2. Además, he visto los mismos problemas de rendimiento con las instalaciones de metal desnudo. Mencioné principalmente la virtualización para descartar problemas de hardware.
Hubert Kario
Acabo de recordar algo. Detalles en la respuesta principal.
Matt
1

El ajuste automático de TCP (que ya se descartó), MTU que ya se ha abordado y MMCS (programación de clases multimedia) suelen ser las grandes diferencias. Dado que MMCS aún no se ha abordado, intente desactivarlo.

Asegúrese de que la escala automática de su ventana tcp esté desactivada si está a la velocidad de la LAN o cerca de ella.

Las instrucciones están disponibles aquí: http://smallvoid.com/article/winnt-services-mmcss.html

iivel
fuente
No estoy seguro de si lo cambié (ya que han pasado más de 6 meses desde entonces) pero parece prometedor, lo intentaré mañana.
Hubert Kario
No ayudó mucho, mejoró el rendimiento entre un 10 y un 20%.
Hubert Kario
0

No debería ver el controlador Realtek dentro de Windows como una máquina virtual en Citrix XenServer. Si lo hace, eso significa que no tiene XenTools instalado. La NIC Realtek que ve, es una emulada proporcionada por el servicio QEMU dentro de Dom 0 (dominio 0). Después de instalar el sistema operativo Windows, antes de hacer cualquier otra cosa, especialmente la instalación de la aplicación, debe instalar XenTools. Además, la velocidad se codifica después de instalar XenTools (como se indica en la Guía del usuario de VM), ya que no hay límite de velocidad en un dispositivo virtual.

James
fuente
1
de la pregunta de apertura: "Realtek NIC en el host XenServer "
Hubert Kario