Intel NIC 퍼포먼스 튜닝에 관한 팁
Intel I/OAT BIOS 설정
- Intel QuickData Technology : 송수신에 관계된 데이터 전송을 CPU가 아닌 Chipset 을 통해 전담하도록 하여 퍼포먼스를 향상시킨다.
- Direct Cache Access (DCA) : NIC로 하여금 데이터를 바로 CPU캐쉬로 전송할 수 있도록 하여 캐시 미스를 줄이고 어플리케이션 반응속도를 향상 시킨다
- Extended Message Signaled Interrupts (MSI-X) : I/O 인터럽트를 다수의 CPU와 CPU 코어로 분매하여 CPU 사용율을 높이고 어플리케이션 퍼포먼스를 향상 시킨다.
- Receive Side Coalescing (RSC) : 하나의 TCP/IP 데이터 흐름에서의 작은 데이터 패킷을 결합하여 큰 패킷을 만들어 주어 패킷당 프로세싱 비용을 줄인다.
- Low Latency Interrupts : 인터럽트 간격을 포트 번호 혹은 패킷 사이즈에 따른 데이터의 레이턴시 민감도에 따라 튜닝하여 프로세싱 효율을 향상시킨다.
그외 퍼포먼스 튜닝 옵션
- 수신 송신 버퍼 사이즈 최대값 설정 : 2048 byte로 버퍼 사이즈를 최대값을 설정한다. 이 경우 호스트의 메모리를 더 많이 소비하게 되는 단점이 있다. 네트워크를 조사하여 Zero-window 상황이 많이 발생한다면 어느 쪽이든 버퍼를 늘림으로써 상황을 완화 시킬 수 있다.
- Interrupt Moderation 옵션 끄기 : 이 기능은 NIC로 하여금 CPU에게 가해지는 인터럽트 수를 제한함으로써 결국 NIC의 CPU 사용량을 줄어들게 만든다. 이 옵션을 끄게 되면 CPU 사용량이 늘어나는 단점은 있으나 패킷이 처리되지 못하고 버퍼에 남아서 CPU 인터럽트를 기다리게 되는 상황을 막아 준다.
- Receive Side Scaling : 이 기술은 CPU의 멀티 코어를 활용하여 각 코어로 하여금 TCP 컨넥션을 할당하여 처리하도록 하게 하는 기술이다. 이렇게 함으로써 CPU가 여러개의 TCP 코어를 무작위로 처리할때 보다 캐시 활용율을 높여서 전체적인 성능을 높일 수 있다.
- Receive Side Scaling Queue : Receive Side Scaling 기술과 함께 CPU와 NIC사이에 버퍼 공간을 두어 네트워크 성능을 향상시킬 수 있다.
No comments:
Post a Comment