Debian + nginx/apache 上的吞吐量较低

Debian + nginx/apache 上的吞吐量较低

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

当我通过 WAN(互联网)从 Debian 服务器下载 10MB 文件时,curl报告的平均下载速度为115.7万。使用同一个文件,通过同一个网络,但在 Windows 服务器上,Curl 报告的平均下载速度为3588千多次运行脚本显示,Debian 服务器的平均下载速度有很大变化,有时我只得到40万,而Windows服务器相当稳定。

在 LAN 上进行测试比在 WAN 上进行测试能获得更好的性能,但 Windows 服务器在那里的表现也好得多。Windows 服务器正在生产中,有一定的负载,而 Debian 服务器除了我的测试外没有其他负载。

客户端,如果我使用 wireshark 捕获了 TCP 流量,我对 tcp 捕获不是很熟悉,但我发现一些事实,即 debian 的 TCP 窗口大小小于 windows 服务器。

Debian:

Window size value: 913

Calculated window size: 14608

Window size scaling factor: 16

窗户:

Window size value: 256

Calculated window size: 65536

Window size scaling factor: 256
  • 我已尝试使用 Apache 代替 Nginx,但并没有任何改变。
  • 我尝试过互联网上不同的“Linux tcp 调整”指南,没有任何明显的影响。
  • 两个服务器的 Ping 时间相同。
  • 不涉及 SSL/TLS。

我不知道接下来该去哪里。

有人能提供一些建议来调查或解决这个问题吗?

答案1

问题最终得到解决。

  1. 我们的交换机重新启动后就再也没有恢复在线。所以我们更换了交换机,现在 LAN 端的性能符合预期。

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

不需要对 TCP 堆栈进行调整。

相关内容