2017-02-18 261 views
0

我遇到了一个很奇怪的问题。 我有2台服务器,一台运行redhat Linux服务器7 64位,另一台运行Windows Server 2012 64位。这两个服务器的硬件规格是完全一致:iperf3 Windows带宽比linux慢很多

Xeon 2.6Ghz CPU x 2, total 32 logical core 
96GB ddr4 memory 
1Gb dual port network card 
2TB hard disk, the RAID configuration is also same. 

当我两个机器上运行iperf3,结果是非常不同的。 在Linux上,结果是:**

$iperf3 -s 

$iperf3 -c localhost 
Connecting to host localhost, port 5201 
[ 4] local ::1 port 46996 connected to ::1 port 5201 
[ ID] Interval   Transfer  Bandwidth  Retr Cwnd 
[ 4] 0.00-1.00 sec 4.29 GBytes 36.9 Gbits/sec 0 703 KBytes 
[ 4] 1.00-2.00 sec 4.75 GBytes 40.8 Gbits/sec 0 703 KBytes 
[ 4] 2.00-3.00 sec 4.66 GBytes 40.0 Gbits/sec 0 767 KBytes 
[ 4] 3.00-4.00 sec 4.67 GBytes 40.1 Gbits/sec 0 767 KBytes 
[ 4] 4.00-5.00 sec 4.49 GBytes 38.6 Gbits/sec 0 1.37 MBytes 
[ 4] 5.00-6.00 sec 4.57 GBytes 39.3 Gbits/sec 0 1.37 MBytes 
[ 4] 6.00-7.00 sec 4.54 GBytes 39.0 Gbits/sec 0 1.37 MBytes 
[ 4] 7.00-8.00 sec 4.68 GBytes 40.2 Gbits/sec 0 1.37 MBytes 
[ 4] 8.00-9.00 sec 4.75 GBytes 40.8 Gbits/sec 0 1.37 MBytes 
[ 4] 9.00-10.00 sec 4.60 GBytes 39.6 Gbits/sec 0 1.37 MBytes 
- - - - - - - - - - - - - - - - - - - - - - - - - 
[ ID] Interval   Transfer  Bandwidth  Retr 
[ 4] 0.00-10.00 sec 46.0 GBytes 39.5 Gbits/sec 0    sender 
[ 4] 0.00-10.00 sec 46.0 GBytes 39.5 Gbits/sec     receiver 

在Windows结果:**

iperf3.exe -s 

iperf3.exe -c localhost 
Connecting to host localhost, port 5201 
[ 4] local ::1 port 11042 connected to ::1 port 5201 
[ ID] Interval   Transfer  Bandwidth 
[ 4] 0.00-1.00 sec 477 MBytes 4.00 Gbits/sec 
[ 4] 1.00-2.00 sec 486 MBytes 4.08 Gbits/sec 
[ 4] 2.00-3.00 sec 555 MBytes 4.66 Gbits/sec 
[ 4] 3.00-4.00 sec 569 MBytes 4.77 Gbits/sec 
[ 4] 4.00-5.00 sec 571 MBytes 4.79 Gbits/sec 
[ 4] 5.00-6.00 sec 584 MBytes 4.90 Gbits/sec 
[ 4] 6.00-7.00 sec 590 MBytes 4.95 Gbits/sec 
[ 4] 7.00-8.00 sec 590 MBytes 4.95 Gbits/sec 
[ 4] 8.00-9.00 sec 599 MBytes 5.03 Gbits/sec 
[ 4] 9.00-10.00 sec 598 MBytes 5.01 Gbits/sec 
- - - - - - - - - - - - - - - - - - - - - - - - - 
[ ID] Interval   Transfer  Bandwidth 
[ 4] 0.00-10.00 sec 5.49 GBytes 4.71 Gbits/sec     sender 
[ 4] 0.00-10.00 sec 5.49 GBytes 4.71 Gbits/sec     receiver 

iperf Done. 

为什么选择Windows是如此之慢?有没有人有同样的问题?
如何提高Windows带宽性能?

这种行为极其影响我的项目,使用相同的套接字代码,Windows的吞吐量仅为Linux的1/3。

非常感谢。

+1

这与编程无关。也许你应该在超级用户社区中提出这个问题。 –

+0

您是否尝试过使用Linux启动Windows机器?即使不应该存在硬件差异,也许会有这种差异。 – deltab

+0

Linux和Windows在每台服务器上运行,测试在本地主机上运行,​​Linux和Windows未连接。 –

回答

0

请尝试增加TCP窗口大小8.00 KByte(默认)至少64k。请参阅下面的文章:

https://arstechnica.com/civis/viewtopic.php?t=1113215

希望它能帮助。

+0

我已经尝试在Windows注册表中增加TCP窗口大小,但在重新启动后,结果仍然相同。 TCP窗口大小是否影响本地主机测试? –

+0

如果它没有解决你的问题,你为什么接受这个答案? – T3rm1