Debian + nginx / apache的低吞吐量

在相同的局域网/广域网上,我有一台运行IIS 7.5的Windows Server 2012服务器和一台运行Nginx 1.4.5的Debian(wheezy)服务器。 两台服务器都连接到相同的LAN / WAN。

当我从debian服务器上下载一个10MB的文件时, curl报告的平均下载速度为1157k 。 使用相同的文件,在相同的networking上,但在Windows服务器上,Curl报告3588k的平均下载速度。 多次运行脚本显示,debian服务器的平均下载速度有很大的变化,有时我只有40万 ,而Windows服务器是相当稳定的。

在局域网而不是广域网上testing给了我更好的性能,但Windows服务器在那里也performance得更好。 Windows服务器正在生产,并有一定的负载,而debian服务器没有负载比我的testing。

客户端,如果我使用wireshark捕获TCPstream量,我不太熟悉tcp捕获,但是我发现debian的TCP窗口大小比windows服务器小。

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 
  • 我试过Apache而不是Nginx,它没有改变任何东西。
  • 我已经通过互联网尝试了不同的“Linux tcp tuning”指南,没有任何明显的影响。
  • 两台服务器的Ping时间相同。
  • 没有涉及SSL / TLS。

我不知道该从哪里出发。

任何人有一些build议来调查或解决这个问题?

最后问题解决了。

  1. 我们的交换机重新启动,从来没有回到网上。 所以我们改变了交换机,现在LAN侧性能如预期的那样。

  2. 对于WAN问题,QoS限制了客户端的带宽。

在TCP堆栈上不需要调整。