NIC RSS queues (0,2,4,8,16) 다중 분산처리 질문 입니다

happypig07의 이미지

급 질문드립니다 난관에 막혀서 나가지 못하여 질문 올립니다 ㅠㅠ

국내 게임 서버 BMT 진행중에 생긴 문제입니다

테스트 목적 과 동기

성능 테스트를 통해 NIC RSS Queues를 많이 가질수록 CPU 성능을 높일 수 있음(커널 쓰레딩을 분산 시킴으로) 생각 하게 됨
NIC RSS Queues를 많이 가질 수 NIC 테스트 (분산 커널 쓰레딩 )확인 과정

테스트 방법

더미- 클라이언트 봇으로 하여 서버에 2500 봇 , 3000 봇, 5000 봇을 붙여서 스트레스를 주는 방식 입니다 (개발자가 만듬)

테스트 장비

2014년 HP 최근 장비
OS : windows 2008 R2
NIC : HP 366FLR 1G NIC (Rss Queues : 1,2,6,8) 까지 있음 * 1ea
티밍해도 하였음 2 port ( SLB , TLB) 두개 해봄 / 해당 테스트 목적에 어떤 티밍이 적합 한지 모르겠음..,

테스트 작업

1.NIC 에서 RSS 1 Queue 설정시 ( 하나의 코어에서 커널 쓰레드 일어 나는거 확인 # 확인방법 작업관리자 에서 - 성능 - CPU - 빨간선 1개 나옴 )

2.NIC 에서 RSS 4 Queue 설정시 :( 커널 CPU 사용률이 4곳으로 분산되는거 확인 ) # 확인방법 작업관리자 에서 - 성능 - CPU - 빨간선 4개 나옴 )

3.NIC 에서 RSS 8 Queue 설정시 :( 커널 CPU 사용률이 4곳으로 분산 됨 ) # 확인방법 작업관리자 에서 - 성능 - CPU - 빨간선 4개 나옴 )

* 빨간선 ( 커널 시간표시)

문제점

NIC 고급 옵션에서 RSS 8 Queue 개로 설저하여도 작업관리자에서 CPU 성능 모니터링을 하면 4개 밖에 커널 쓰레딩이 일어 나지 않는것 같습니다

4개로만 분산 하네요..,이유를 왜인지 모르겠습니다

참고( 아래 3개 설정 하였습니다 )

1.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ndis\Parameters: MaxNumRssCpus 설정 8개로 하였습니다
2.netsh int tcp set global chimney=disabled
3.netsh int tcp set global rss=enabled

질문

1. 왜 8개로 분산이 안될까요?? ㅠㅠㅠㅠ 잘못 설정 한걸까요 아니면 잘못된 방법일까요
2. 방법 Tool 문제인가요 ??
3. RSS Queues 는 NUMA 방식으로 해야 하나요 ? BIOS 에서 NUMA 를 node-interleaving 으로 바꿔도 되는지요 ? ( Rss queues 와 NUMA 상관관계가 있나요?)