On the same LAN/WAN I have a Windows server 2012 server running IIS 7.5 and a Debian (wheezy) server running Nginx 1.4.5. Both servers are connected to the same LAN/WAN.

When I download a 10MB file from the debian server over the wan (internet), curl report an average download speed of 1157k. Using the same file, over the same network but on the Windows server, Curl report an average download speed of 3588k. Running the script multiple times shows that the average download speed of the debian server has a big variations, sometimes I get only 400k, while the Windows server is pretty stable.

Testing on the LAN instead of the WAN give me better performance, but the Windows server performs a lot better there too. The Windows server is in production and has a certain amount of load, while the debian server has no load other than my tests.

Client side, if I've captured the TCP traffic using wireshark, I'm not very familiar with tcp capturing but I found some facts that TCP window size of debian is smaller than the windows server.

Debian :

Window size value: 913

Calculated window size: 14608

Window size scaling factor: 16

Windows :

Window size value: 256

Calculated window size: 65536

Window size scaling factor: 256
  • I've tried Apache instead of Nginx and it has not changed anything.
  • I've tried different "Linux tcp tuning" guide over the internet without any noticeable impact.
  • Ping time is equivalent for both servers.
  • There is no SSL/TLS involved.

I don't know where to go from here.

Anyone has some advice to investigate or fix this issue ?

  • I doubt initial TCP/IP stack settings in the Windows vs Debian settings affects download speeds except for perhaps the initial packets. There could be a hardware difference, like different RAM sizes and caching involved or network card. Try with different bigger files and see if the difference is sustained or diminishes. Take out as much out of the equation as possible (ie: locally to rule out Internet issues, using IP instead of hostname to rule out DNS latencies etc). Commented Mar 20, 2014 at 15:41
  • Testing on the LAN instead of the WAN (and using local private IP) give me better performance, but the Windows server performs a lot better there too. Both servers are connected at 1gb to a gigabit switch.
    – Sebastien
    Commented Mar 20, 2014 at 16:17

1 Answer 1


Finally the issue is resolved.

  1. Our switch was rebooted, and never came back online. So we changed the switch and performance are now as expected on the LAN side.

  2. For the WAN issue, QoS was limiting the bandwidth client side.

No tuning on the TCP Stack was required.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .