NUMA 시나리오

많은 CPU가 있는 컴퓨터에서 NUMA(Non-Uniform Memory Access) 하드웨어는 전용 메모리와 CPU를 쌍으로 연결하여 성능을 훨씬 향상시킬 수 있습니다. 이 항목에서는 특정 시나리오의 성능을 더욱 개선할 수 있는 NUMA, CPU 선호도 및 연결 선호도의 몇 가지 구성을 제공합니다. 이러한 구성에 영향을 주는 설정은 다음과 같습니다.

유용한 시나리오

NUMA를 사용하는 경우 자주 발생하는 시나리오는 다음과 같습니다.

1. NUMA 선호도에 대한 포트 없음

하드웨어 NUMA 및 SQL Server의 단일 인스턴스가 있는 컴퓨터에서의 기본 상태입니다. 모든 트래픽은 단일 포트를 통해 들어오며 사용 가능한 모든 NUMA 노드에 라운드 로빈 방식으로 배포됩니다. NUMA는 메모리 및 CPU 액세스 효율을 높이며 I/O 및 지연 기록기 스레드의 수를 증가시킵니다. 설정된 연결은 해당 노드에 적용되므로 NUMA 노드에서 자동으로 로드 균형이 조정됩니다. 클라이언트 응용 프로그램은 포트 하나에 연결되며 쉽게 배포할 수 있습니다.

연결에 모든 NUMA 노드를 사용합니다.

2. 우선 순위 응용 프로그램의 성능 향상을 위해 여러 개의 노드에 단일 포트 연결

포트 하나의 선호도를 주 우선 순위 응용 프로그램에 사용할 여러 개의 하드웨어 NUMA 노드로 설정합니다. 두 번째 포트의 선호도를 두 번째 부 응용 프로그램에 사용할 다른 하드웨어 NUMA 노드로 설정합니다. 두 응용 프로그램의 메모리 및 CPU 리소스는 불균형하게 고정되어 부 응용 프로그램보다 3배 많은 로컬 메모리 및 CPU 리소스를 주 응용 프로그램에 제공합니다. 부 응용 프로그램은 데이터베이스 엔진의 두 번째 인스턴스나 동일한 데이터베이스 엔진 인스턴스에서 덜 중요한 기능 또는 동일한 데이터베이스가 될 수 있습니다. 이 기능은 우선 적용되는 연결에 추가 리소스를 할당하여 일종의 우선 순위 스레드 실행을 제공할 수 있습니다.

포트 하나에 여러 NUMA 노드를 연결함

3. 여러 개의 노드에 여러 개의 포트 연결

둘 이상의 포트를 동일한 NUMA 노드로 매핑할 수 있습니다. 이렇게 하면 각 포트에 서로 다른 사용 권한을 구성할 수 있습니다. 예를 들어 해당 TCP 끝점에서 사용 권한을 제어하여 포트를 통해 제공되는 액세스를 엄격하게 제한할 수 있습니다. 이 예에서 포트 1450은 인트라넷 전체에서 사용할 수 있습니다. 포트 1433은 방화벽을 통해 인터넷에 개방되어 있지만 액세스가 엄격하게 제한됩니다. 두 포트는 똑같이 NUMA를 완벽하게 활용합니다.

여러 포트에 사용할 수 있는 모든 NUMA 노드를 연결함