Recientemente configuré el intercambio de archivos de Windows a través de una red ethernet gigabit (no estoy usando tramas gigantes) con un servidor Samba y un cliente Windows Vista. He hecho algunas copias de archivos, pero el rendimiento máximo que estoy viendo es de 20 MB / s (megabytes, no megabits), que es aproximadamente el 15% del máximo teórico de 125 MB / s para la red. El servidor tiene una matriz RAID que puede administrar aproximadamente 75 MB / s (el cuello de botella es el bus PCI), y el cliente puede administrar aproximadamente 40 MB / s en una copia de disco a disco.
Debo agregar que no había otro tráfico en la red en ese momento.
Entiendo que nunca obtendré el máximo teórico, pero no pensé que sería tan malo.
¿Cuál es el rendimiento típico de Windows File Sharing (SMB) en una red ethernet gigabit?
Puntos de bonificación: ¿qué puedo ajustar (además de usar marcos jumbo) para hacer esto más rápido?
fuente
Respuestas:
La calidad de sus tarjetas de red, conmutadores y cableado puede tener un efecto. Puede valer la pena buscar revisiones de las NIC y los conmutadores que está utilizando para ver si otras personas informan que no funcionan demasiado bien. Estoy seguro de que las NIC integradas en el tablero son peores de las transferencias de Gbit, aunque en mi experiencia esto no parece hacer mucha, si alguna, diferencia en mi entorno.
Como punto de referencia, acabo de instalar un nuevo conmutador Gbit en nuestra oficina (reemplazando los antiguos conmutadores de 100Mbit) y grandes transferencias SMB se ejecutan a cerca de (pero menos de) 30Mbyte / seg entre cada combinación de máquinas que probé. Acabo de hacer una prueba rápida con netcat entre dos de las máquinas y obtuve resultados similares, así que no creo que SMB sea el cuello de botella. Las dos máquinas que acabo de probar tienen dos interruptores entre ellos que pueden tener un efecto, pero supongo que ese efecto es mínimo dado lo cerca que se transfieren las cifras de una SMB a una máquina en el mismo interruptor.
La mejor velocidad de transferencia que he visto en una red Gbit fue un poco menos de 50Mbyte / seg en su máxima velocidad. Esto fue mientras se transfería una imagen de unidad de una máquina a un archivo en la otra (con el propósito de convertir a una unidad virtual VMWare. En ese caso, las dos máquinas se conectaron a través de un cable cruzado corto en lugar de a través de un interruptor. Coincidentemente una de las máquinas en cuestión fue una de las máquinas que acabo de probar y obtuve ~ 29Mbyte / seg. El culpable más probable del cuello de botella principal en mi caso es probablemente el cableado de 8 años en el edificio que se pudo haber hecho Una prueba rápida (e igualmente poco científica) en mi pequeña red doméstica ve tasas de transferencia más como 35Mbyte / seg copiar un archivo de un recurso compartido Samba a un cuadro de Windows y 25Mbyte / seg en la otra dirección (I '
Los marcos gigantes van a marcar la diferencia para las transferencias masivas, por lo que te sugiero que lo pruebes si todo tu kit los admite correctamente.
Para abreviar una larga historia: según mi experiencia anecdótica, sus 20Mbyte / seg son un poco lentos, pero no masivamente. Todas mis instalaciones de Windows y Samba están prácticamente sin ajustar, por lo que sospecho que su hardware / cableado es la diferencia entre lo que veo y lo que ve.
Editar
Por supuesto, cinco años después de esta respuesta, el hardware y el software han avanzado. A menudo veo más de 90 transferencias MiB / seg en máquinas con redes Gbit incluso con un kit barato. Mi servidor de medios / copia de seguridad / otro servidor parece estar limitado a un poco más de 60 por volumen para las transferencias, pero eso parece estar relacionado con la CPU en un solo núcleo del hardware de la caja.
fuente
Ahh ... aquí es donde es importante que un servidor entienda lo que hay debajo del capó. Como esto tiene dos años, creo que ya lo ha resuelto. Sin embargo, para la posteridad o cualquier persona con un problema similar, probablemente se encontró con esto
(Tamaño de ventana TCP * 8bits / RTT en milisegundos) = Máximo rendimiento de TCP en bps
Si bien es posible que tenga una red Gigabit, es probable que un solo flujo TCP no pueda alcanzar ese nivel.
Aquí hay una tabla simple asumiendo que tiene el tamaño predeterminado de la ventana 65535Byte TCP en Vista
RTT 10 ms => rendimiento de TCP = 52428000 bps = 52 Mbps
RTT 20 ms => rendimiento de TCP = 26214000 bps = 26 Mbps
RTT 50 ms => rendimiento de TCP = 10485600 bps = 10Mbps
RTT 100 ms => rendimiento de TCP = 5242800 bps = 5.2Mbps
RTT 150 ms => rendimiento TCP = 3495200 bps = 4.3Mbps
RTT 200 ms => rendimiento TCP = 2621400 bps = 2.5Mbps
RTT 300 ms => rendimiento de TCP = 1747600 bps = 1.7Mbps
RTT 500 ms => rendimiento de TCP = 1048560 bps = 1 Mbps
A 20Mbytes / seg o 160Mbits / seg, es probable que su latencia de ida y vuelta sea del orden de aproximadamente 3 milisegundos. La única otra forma de acelerar eso es mediante el uso de optimizadores de TCP que eliminen la duplicación a través del cable o unan fragmentos en paquetes más grandes. En una LAN que probablemente no te va a ganar mucho por el gasto. Si está utilizando equipos SoHo como Linksys o Netgear, su latencia probablemente se deba a la falta de buffers compartidos en el switch. Si se trata de un conmutador más grande como un puerto de 24, intente asegurarse de que los dos dispositivos estén conectados al mismo ASIC. Esto ayudará a retrasar la serialización, pero no mucho. Si pudiera bajarlo a 2 ms, obtendría un impulso de hasta 31-32Mbytes / seg. Si están en dos conmutadores diferentes, no hay mucho que pueda hacer sin nuevo hardware.
fuente
No es que esto lo ayude en este caso, pero Vista / Windows 7 hablando con un servidor Windows 2008 utilizará SMB2, que es mucho más eficiente que SMB simple y utilizará mucho más del ancho de banda de la red. Consulte las mejoras de rendimiento del servidor de archivos con el protocolo SMB2 en Windows Server 2008 y el rendimiento mejorado de la red con Microsoft Windows Vista y Windows Server 2008 para obtener más información.
Se está trabajando en SMB2 en Samba 4 pero parece que se está exportando a Samba 3.5 .
fuente