다음을 통해 공유


서버 구성: 선호도 I/O 마스크

적용 대상: SQL Server

멀티태스킹을 수행하기 위해 Windows는 서로 다른 프로세서 간에 프로세스 스레드를 이동하기도 합니다. 운영 체제 측면에서는 효율적이지만 각 프로세서 캐시에 데이터가 반복적으로 다시 로드되어 시스템 로드가 많은 경우 이 활동으로 인해 SQL Server 성능이 저하될 수 있습니다. 프로세서를 특정 스레드에 할당하면 프로세서 리로드를 없애 이러한 조건에서 성능을 개선할 수 있습니다. 스레드와 프로세서 간의 이러한 연결을 프로세서 선호도라고 합니다.

SQL Server는 affinity mask(CPU 선호도 마스크라고도 함) 및 affinity I/O mask의 두 가지 선호도 마스크 옵션을 사용하여 프로세서 선호도를 지원합니다. affinity mask 옵션에 대한 자세한 내용은 선호도 마스크 서버 구성 옵션 구성을 참조하세요. 33~64개의 프로세서가 있는 서버에 대한 CPU 및 I/O 선호도를 지원하려면 affinity64 마스크affinity64 I/O 마스크 서버 구성 옵션도 각각 사용해야 합니다.

참고 항목

33개에서 64개의 프로세서를 가지는 서버에 대한 선호도 지원은 64비트 운영 체제에서만 가능합니다.

affinity I/O mask 옵션은 SQL Server 디스크 I/O를 지정된 CPU 하위 집합에 바인딩합니다. 고성능 SQL Server OLTP(온라인 트랜잭션 처리) 환경에서 이러한 확장을 통해 I/O를 실행하는 SQL Server 스레드의 성능을 향상시킬 수 있습니다. 이 향상된 기능은 개별 디스크 또는 디스크 컨트롤러에 대한 하드웨어 선호도를 지원하지 않습니다.

affinity I/O mask 값은 다중 프로세서 컴퓨터에서 SQL Server 디스크 I/O 작업을 처리할 CPU를 지정합니다. 마스크는 맨 오른쪽 비트가 가장 낮은 순서의 CPU(0)를 지정하고, 왼쪽 바로 앞에 있는 비트가 다음으로 낮은 순서 CPU(1)를 지정하는 식의 비트맵입니다. 32개 이상의 프로세서를 구성하려면 affinity I/O maskaffinity64 I/O mask를 모두 설정합니다.

affinity I/O mask 값은 다음과 같습니다.

마스크의 바이트 CPU 수
1바이트 최대 8개의 CPU
2바이트 최대 16개의 CPU
3바이트 최대 24개의 CPU
4바이트 최대 32개의 CPU

32개 이상의 CPU를 포함하려면 처음 32개 CPU에 대해 4바이트 affinity I/O mask를 구성하고 나머지 CPU에 대해 최대 4바이트 affinity64 I/O mask를 구성합니다.

선호도 I/O 패턴의 1 비트는 해당 CPU가 SQL Server 디스크 I/O 작업을 수행할 수 있음을 지정합니다. 0 비트는 해당 CPU에 대해 SQL Server 디스크 I/O 작업을 예약하지 않음을 지정합니다. 모든 비트가 0으로 설정되거나 affinity I/O mask가 지정되지 않은 경우 SQL Server 디스크 I/O는 SQL Server 스레드를 처리할 수 있는 CPU에 예약됩니다.

SQL Server affinity I/O mask 옵션 설정은 특수한 작업이므로 필요한 경우에만 사용합니다. 대부분의 경우 기본 Windows 선호도를 사용할 때 최상의 성능을 제공합니다.

affinity I/O mask 옵션을 지정할 때는 affinity mask 구성 옵션을 함께 사용해야 합니다. affinity I/O mask 스위치와 affinity mask 옵션 모두에 동일한 CPU를 사용하도록 설정하지 마세요. 각 CPU에 해당하는 비트 상태는 다음 세 가지 상태 중 하나여야 합니다.

  • 0 옵션과 affinity I/O mask 옵션 모두에서 affinity mask입니다.
  • 1 옵션에서 affinity I/O mask이며 0 옵션에서 affinity mask입니다.
  • 0 옵션에서 affinity I/O mask이며 1 옵션에서 affinity mask입니다.

affinity I/O mask 옵션은 고급 옵션입니다. sp_configure 시스템 저장 프로시저를 사용하여 설정을 변경하는 경우 affinity I/O maskshow advanced options로 설정했을 때만 1를 변경할 수 있습니다. SQL Server에서 affinity I/O mask 옵션을 다시 구성하려면 SQL Server 인스턴스를 다시 시작해야 합니다.

주의

Windows 운영 체제에서 CPU 선호도를 구성하지 말고 SQL Server에서도 affinity mask를 구성하지 않습니다. 이러한 설정은 동일한 결과를 달성하기 위한 것으로, 구성이 일치하지 않으면 예측할 수 없는 결과가 발생할 수 있습니다. SQL Server CPU 선호도는 SQL Server의 sp_configure 시스템 저장 프로시저를 사용하여 구성하는 것이 가장 좋습니다.