서버 구성: 선호도 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 mask
와 affinity64 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 mask
를 show advanced options
로 설정했을 때만 1
를 변경할 수 있습니다. SQL Server에서 affinity I/O mask
옵션을 다시 구성하려면 SQL Server 인스턴스를 다시 시작해야 합니다.
주의
Windows 운영 체제에서 CPU 선호도를 구성하지 말고 SQL Server에서도 affinity mask
를 구성하지 않습니다. 이러한 설정은 동일한 결과를 달성하기 위한 것으로, 구성이 일치하지 않으면 예측할 수 없는 결과가 발생할 수 있습니다. SQL Server CPU 선호도는 SQL Server의 sp_configure
시스템 저장 프로시저를 사용하여 구성하는 것이 가장 좋습니다.