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.