affinity I/O mask 옵션

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

SQL Server에서는 affinity mask(CPU affinity mask라고도 함) 및 affinity I/O mask의 2가지 affinity mask 옵션으로 프로세서 선호도를 지원합니다. affinity mask 옵션에 대한 자세한 내용은 affinity mask 옵션을 참조하십시오. 33개에서 64개의 프로세서를 가지는 서버에 대한 CPU 및 I/O 선호도를 지원할 경우 affinity64 mask 옵션affinity64 I/O mask 옵션을 각각 추가로 사용해야 합니다.

[!참고]

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)를 지정하는 방식으로 이어지는 비트맵입니다. 33개 이상의 프로세서를 구성하려면 affinity I/O maskaffinity64 I/O mask를 모두 설정합니다.

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

  • 1바이트 affinity I/O mask의 경우 하나의 다중 프로세서 컴퓨터에서 CPU가 8개까지 허용됩니다.

  • 2바이트 affinity I/O mask의 경우 하나의 다중 프로세서 컴퓨터에서 CPU가 16개까지 허용됩니다.

  • 3바이트 affinity I/O mask의 경우 하나의 다중 프로세서 컴퓨터에서 CPU가 24개까지 허용됩니다.

  • 4바이트 affinity I/O mask의 경우 하나의 다중 프로세서 컴퓨터에서 CPU가 32개까지 허용됩니다.

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

affinity 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 Serveraffinity I/O mask 옵션 설정은 특수 작업이므로 필요한 경우에만 사용해야 합니다. 대부분의 경우 Windows 2000 또는 Windows Server 2003 기본 선호도를 사용할 때 최상의 성능을 제공합니다.

affinity I/O mask 옵션을 지정할 때는 affinity mask 구성 옵션과 함께 사용해야 합니다. affinity I/O mask 스위치와 affinity mask 옵션에서 동일한 CPU를 사용하지 마십시오. 각 CPU에 해당하는 비트는 다음 3가지 상태 중 하나여야 합니다.

  • affinity I/O mask 옵션과 affinity mask 옵션이 모두 0

  • affinity I/O mask 옵션이 1이고 affinity mask 옵션이 0

  • affinity I/O mask 옵션이 0이고 affinity mask 옵션이 1

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

주의 사항주의

Windows 운영 체제에서 CPU 선호도를 구성하지 말고 SQL Server에서도 선호도 마스크를 구성하지 마십시오. 동일한 결과를 얻기 위해 이렇게 설정하는 경우도 있지만 구성이 일치하지 않는 경우 예상치 못한 결과가 나올 수 있습니다. SQL Server CPU 선호도는 SQL Server의 sp_configure 옵션을 사용하면 가장 잘 구성됩니다.