Windows 7의 10GBASE-T 성능

Windows 7의 10GBASE-T 성능

내 시나리오는 다음과 같습니다.

-워크스테이션1: CPU i7-3770 / 16GB 램 / 기가바이트 Z77-D3H 마더보드 / Crucial CT256MX100SSD1 시스템 디스크 / 네트워크 어댑터 intel X540-T1 / Windows 7 64bit -워크스테이션2: CPU i7-950 / 12GB ram / ASUS P6X58D-E 마더보드 / Crucial CT256MX100SSD1 Sysyem 디스크/네트워크 어댑터 intel X540-T1/Windows 7 64bit
-Switcher HP procurve 2920(2개의 이중 10기가비트 이더넷 확장 카드 포함).

두 UTP 케이블은 모두 15미터 미만의 Cat6이며 각 워크스테이션에서 HP 스위처에 직접 연결됩니다. 두 네트워크 어댑터 모두 10Gbps로 연결된 것으로 보입니다.

iperf로 네트워크 성능을 테스트하고 있습니다.

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

초당 10Gbit 대신 초당 1Gbit 정도를 얻습니다. 그럼 내가 잘못하고 있는 단계가 있나요? 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
네트워크 활동 진행 중...

스레드 시간 처리량(KB/s) 평균 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   


##### 총계: #####


바이트(MEG) 실시간 평균 프레임 크기 처리량(MB/s)    
=========== =========== ============================ ==  
5179.250000 15.000 1459.696 345.283   


>처리량(버퍼/초) 주기/바이트 버퍼    
===================== ========================    
      2762.267 6.912 41434.000    


>DPC(count/s) 패킷(num/DPC) Intr(count/s) 패킷(num/intr)   
================================================== =====   
    13668.933 1.633 22030.933 1.013   



>전송된 패킷 수신된 패킷 재전송 오류 평균 CPU %    
=============================================== ==== ======    
     3720525 334723 4364 0 10.179  

답변1

표시된 제안을 시도해 보세요.여기

  1. RSS(Receive Side Scaling), LSO(Large Send/Segment Offloading), TCP 창 크기 조정(자동 조정) 및 TCP Chimney(Windows용)가 필요하며 선택적으로 RSC(Receive Side Coalescing)가 올바르게 설정되고 구성됩니다.

최신 프로세서조차도 단일 프로세서 코어에서 10Gb 상당의 읽기를 처리할 수 없으므로 RSS는 수신 로드를 분산하기 위해 최소 4개의 물리적 프로세서 코어(RSS는 하이퍼스레드 논리 코어에서 작동하지 않음), 프로세서에 따라 최대 8개로 설정해야 합니다. 여러 프로세서에 걸쳐. Set-NetAdapterRss cmdlet을 사용하여 PowerShell(Windows)을 통해 이 작업을 수행할 수 있습니다.

Hyperthreading을 사용하는 4개의 물리적 코어 프로세스에 대한 명령 예(0,2,4,6은 물리적이고 1,3,5,7은 논리적입니다....거의 경험상 규칙) Set-NetAdapterRss -Name "" - NumberOfReceiveQueues 4 -BaseProcessorNumber 0 -MaxProcessorNumber 6 -MaxProcessors 4 -활성화됨

LSO는 NIC 드라이버 및/또는 PowerShell에서 설정됩니다. 이를 통해 Windows/Linux/무엇이든 큰 패킷(예: 64KB-1MB)을 생성하고 NIC 하드웨어가 데이터를 MSS 값으로 분할하는 작업을 처리할 수 있습니다. 이렇게 하면 호스트의 프로세서 사용량이 낮아지고 하드웨어에서 분할이 더 빨라지고 OS가 더 적은 작업을 수행해야 하므로 전송이 더 빨라집니다.

RSC는 Windows 또는 Linux 및 NIC에 설정됩니다. 이는 LSO와 반대입니다. NIC는 작은 청크를 수신하여 하나의 큰 패킷으로 만들어 OS로 전송합니다. 수신 측의 프로세서 오버헤드를 낮춥니다.

TCP Chimney는 1Gb 세계에서는 나쁜 평판을 받았지만 10Gb 세계에서는 빛을 발했습니다. Windows 8+/2012+에서는 자동으로 설정하면 특정 상황의 10Gb 네트워크에서만 활성화됩니다.

TCP 창 크기 조정(Windows 세계의 자동 조정)은 반드시 필요합니다. 이것이 없으면 TCP 창은 10Gb 연결에서 높은 처리량을 유지할 만큼 충분히 커지지 않습니다.

  1. 9K 점보 프레임을 활성화합니다. 어떤 사람들은 그렇지 않다고 말하고 어떤 사람들은 그렇다고 말합니다...실제로 하드웨어에 따라 다르므로 두 가지 방법을 모두 테스트하십시오.

내 하드웨어에서는 점보 프레임을 활성화하는 것이 매우 중요했습니다. IRQ 병합 설정에도 특별한 주의를 기울이십시오.

관련 정보