내 시나리오는 다음과 같습니다.
-워크스테이션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
표시된 제안을 시도해 보세요.여기
- 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 연결에서 높은 처리량을 유지할 만큼 충분히 커지지 않습니다.
- 9K 점보 프레임을 활성화합니다. 어떤 사람들은 그렇지 않다고 말하고 어떤 사람들은 그렇다고 말합니다...실제로 하드웨어에 따라 다르므로 두 가지 방법을 모두 테스트하십시오.
내 하드웨어에서는 점보 프레임을 활성화하는 것이 매우 중요했습니다. IRQ 병합 설정에도 특별한 주의를 기울이십시오.