Назад | Перейти на главную страницу

Производительность 10GBASE-T в Windows 7

Это мой сценарий:

-Рабочая станция1: CPU i7-3770 / 16 ГБ оперативной памяти / материнская плата Gigabyte Z77-D3H / Crucial CT256MX100SSD1 Sysyem Disk / сетевой адаптер Intel X540-T1 / Windows 7 64bit -Workstation2: CPU i7-950 / 12 ГБ оперативной памяти / материнская плата ASUS P6X58D-E / Crucial CT256MX100SSD1 Sysyem Disk / Сетевой адаптер Intel X540-T1 / Windows 7 64bit
-Коммутатор HP procurve 2920 с двумя двойными картами расширения 10 Gigabit Ethernet.

Оба кабеля utp имеют длину Cat6 менее 15 метров и подключаются напрямую от каждой рабочей станции к коммутатору HP. Оба сетевых адаптера, похоже, связаны со скоростью 10 Гбит / с.

Я тестирую производительность сети с помощью iperf:

-workstation1: iperf -s
-workstation2: iperf -c <workstation1 ip>

Я получаю около 1 Гбит в секунду вместо 10 Гбит в секунду. Так есть ли какой-нибудь шаг, который я делаю неправильно? Есть информация о сетевых ограничениях Windows 7? Спасибо.

ОБНОВЛЕНО - NTttcp тесты

C: \ NTttcp-v5.28 \ x64> NTttcp.exe -s -m 8, *, 192.168.1.20 -l 128k -a 2 -t 15

Авторские права Версия 5.28
Сетевая активность прогрессирует ...

Thread  Time(s) Throughput(KB/s) Avg B / Compl    
======  ======= ================ =============    

0       15.001        38661.956    131072.000
1       14.999        38257.484    131072.000   
2       14.998        53989.065    131072.000   
3       14.998        38336.845    131072.000   
4       14.999        38086.806    131072.000   
5       15.000        37563.733    131072.000   
6       14.997        56408.082    131072.000   
7       15.000        52292.267    131072.000   


#####  Totals:  #####


Bytes(MEG)    realtime(s) Avg Frame Size Throughput(MB/s)    
===========   =========== ============== ================  
5179.250000    15.000       1459.696       345.283   


>Throughput(Buffers/s) Cycles/Byte       Buffers    
===================== ==============   ==========    
      2762.267           6.912          41434.000    


>DPCs(count/s) Pkts(num/DPC)   Intr(count/s) Pkts(num/intr)   
============= ============= =============== ==============   
    13668.933         1.633       22030.933          1.013   



>Packets Sent Packets Received Retransmits Errors Avg. CPU %    
============= ================ =========== ====== ==========    
     3720525       334723        4364         0     10.179  

Попробуйте показанные предложения Вот

  1. Вам нужны RSS (масштабирование на стороне приема), LSO (разгрузка больших отправлений / сегментов), масштабирование окна TCP (автонастройка) и TCP Chimney (для Windows), опционально RSC (объединение на стороне приема), настроенные и настроенные правильно.

Даже современные процессоры не могут обрабатывать 10 ГБ операций чтения на одном ядре процессора, поэтому RSS требует настройки как минимум с 4 физическими ядрами процессора (RSS не работает с логическими ядрами с гиперпоточностью), возможно 8, в зависимости от процессора, для распределения нагрузки приема. через несколько процессоров. Вы можете сделать это через PowerShell (Windows) с помощью командлета Set-NetAdapterRss.

пример команды для 4-х физических процессов ядра с Hyerpthreading (0,2,4,6 - физические, 1,3,5,7 - логические .... в значительной степени практическое правило) Set-NetAdapterRss -Name "" - NumberOfReceiveQueues 4 -BaseProcessorNumber 0 -MaxProcessorNumber 6 -MaxProcessors 4 -Enabled

LSO устанавливается в драйверах сетевой карты и / или PowerShell. Это позволяет Windows / Linux / любой другой системе создавать большой пакет (скажем, 64 КБ - 1 МБ) и позволять аппаратному обеспечению сетевого адаптера выполнять сегментацию данных по значению MSS. Это снижает использование процессора на хосте и ускоряет передачу, поскольку аппаратное сегментирование выполняется быстрее, а ОС должна выполнять меньше работы.

RSC устанавливается в Windows или Linux и на сетевой карте. Это противоположно LSO. Маленькие фрагменты принимаются сетевым адаптером и превращаются в один большой пакет, который отправляется в ОС. Снижает нагрузку на процессор на принимающей стороне.

В то время как TCP Chimney имеет плохую репутацию в мире 1 ГБ, он сияет в мире 10 ГБ. Установите для него значение «Автоматически» в Windows 8 + / 2012 +, и он будет работать только в сетях 10 ГБ при определенных обстоятельствах.

Масштабирование окна TCP (автоматическая настройка в мире Windows) абсолютно необходимо. Без него окна TCP никогда не станут достаточно большими, чтобы поддерживать высокую пропускную способность для соединения 10 Гб.

  1. Включите Jumbo-кадры 9K (некоторые говорят «нет», некоторые говорят «да» ... действительно зависит от оборудования, поэтому проверьте оба варианта).

На моем оборудовании критически важным было включение jumbo-кадров. Также обратите особое внимание на настройку объединения IRQ.