![Debian + nginx/apache 上的吞吐量较低](https://linux22.com/image/629144/Debian%20%2B%20nginx%2Fapache%20%E4%B8%8A%E7%9A%84%E5%90%9E%E5%90%90%E9%87%8F%E8%BE%83%E4%BD%8E.png)
在同一个 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
问题最终得到解决。
我们的交换机重新启动后就再也没有恢复在线。所以我们更换了交换机,现在 LAN 端的性能符合预期。
对于 WAN 问题,QoS 限制了客户端的带宽。
不需要对 TCP 堆栈进行调整。