我遇到了一个非常奇怪的问题。 我有2台服务器,一台运行redhat Linux server 7 64Bit,ahother运行Windows server 2012 64Bit。两个服务器硬件规格完全相同:
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。
非常感谢。
答案 0 :(得分:0)
请尝试将TCP窗口大小8.00 KByte(默认值)增加到至少64k。请参阅以下文章:
https://arstechnica.com/civis/viewtopic.php?t=1113215
希望它有所帮助。