iperf3 Пропускная способность Windows намного медленнее, чем в Linux

Я столкнулся с очень странной проблемой. У меня есть 2 сервера, один работает Redhat Linux Server 7 64Bit, а другой работает 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 имеет только 1/3 пропускную способность, чем Linux.

Большое спасибо.

1 ответ

Решение

Попробуйте увеличить размер окна TCP с 8,00 КБ (по умолчанию) до 64 КБ. Смотрите статью ниже:

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

Надеюсь, поможет.

Другие вопросы по тегам