RSS(Receive Side Scaling)를 올바르게 이해하면 들어오는 UDP 및 TCP 패킷의 src/dst IP+port 콤보가 해시되고 패킷은 다음과 같은 일부 매핑을 사용하여 해당 해시 값을 사용하여 사용 가능한 RSS 대기열에 배포됩니다 hashCode modulo numQueues
. 그 중 실제로는 이 질문에 중요하지 않습니다.
그러면 하나의 RSS 대기열의 패킷이 항상 동일한 코어에 의해 처리됩니다. 즉, 큐가 하나라는 것은 하나의 코어만 패킷을 처리한다는 의미입니다. 이것은 커널의 패킷 처리를 여러 코어에 배포하는 것이 목적인 RSS를 비활성화하는 것처럼 들립니다. 그러나 동일한 NIC 설정 대화 상자에서 또는 를 통해 RSS를 비활성화하는 다른 방법이 있습니다 netsh
.
그렇다면 Intel 및 AT 어댑터의 NIC 설정에서 본 설정은 무엇에 좋은가요?
참고로, 제가 지금 수행하고 있는 UDP 패킷 손실 테스트에서 RSSQueues=1은 RSS를 완전히 끄는 것과 거의 동일한 패킷 손실률을 보여주었습니다. 이와 대조적으로 RSSQueues=2를 설정하면 패킷 손실률이 상당히 낮아집니다.