선호도 입력-출력 마스크 서버 구성 옵션affinity Input-Output mask Server Configuration Option

이 항목은 다음에 적용됩니다.예SQL Server(2008부터)아니요Azure SQL Database아니요Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

멀티태스킹을 수행하기 위해 MicrosoftMicrosoft Windows는 서로 다른 프로세서 간에 프로세스 스레드를 이동하기도 합니다.To carry out multitasking, MicrosoftMicrosoft Windows sometimes move process threads among different processors. 운영 체제 측면에서는 효율적이지만 각 프로세서 캐시에 데이터가 반복적으로 다시 로드되어 시스템 로드가 많은 경우 이로 인해 MicrosoftMicrosoft SQL ServerSQL Server 성능이 저하될 수 있습니다.Although efficient from an operating system point of view, this activity can reduce MicrosoftMicrosoft SQL ServerSQL Server performance under heavy system loads, as each processor cache is repeatedly reloaded with data. 프로세서를 특정 스레드에 할당하면 프로세서가 다시 로드되지 않으므로 이러한 조건에서도 성능을 향상시킬 수 있습니다. 스레드와 프로세서 간의 이러한 연결을 프로세서 선호도라고 합니다.Assigning processors to specific threads can improve performance under these conditions by eliminating processor reloads; such an association between a thread and a processor is called processor affinity.

SQL ServerSQL Server 에서는 두 가지 선호도 마스크 옵션인 선호도 마스크 ( CPU 선호도 마스크라고도 함)와 선호도 I/O 마스크를 통해 프로세서 선호도를 지원합니다. supports processor affinity by means of two affinity mask options: affinity mask (also known as CPU affinity mask) and affinity I/O mask. affinity mask 옵션에 대한 자세한 내용은 affinity mask 서버 구성 옵션을 참조하세요.For more information on the affinity mask option, see affinity mask Server Configuration Option. 33-64개 프로세서가 있는 서버에 대한 CPU 및 I/O 선호도를 지원할 경우 affinity64 mask 서버 구성 옵션affinity64 Input-Output mask 서버 구성 옵션 을 추가로 사용해야 합니다.CPU and I/O affinity support for servers with 33 to 64 processors requires the additional use of the affinity64 mask Server Configuration Option and affinity64 Input-Output mask Server Configuration Option respectively.

참고

33개에서 64개의 프로세서를 가지는 서버에 대한 선호도 지원은 64비트 운영 체제에서만 가능합니다.Affinity support for servers with 33 to 64 processors is only available on 64-bit operating systems.

affinity I/O mask 옵션은 SQL ServerSQL Server 디스크 I/O를 지정된 CPU 하위 집합에 바인딩합니다.The affinity I/O mask option binds SQL ServerSQL Server disk I/O to a specified subset of CPUs. 고성능 SQL ServerSQL Server OLTP(온라인 트랜잭션 처리) 환경에서 이러한 확장을 통해 I/O를 실행하는 SQL ServerSQL Server 스레드의 성능을 향상시킬 수 있습니다.In high-end SQL ServerSQL Server online transactional processing (OLTP) environments, this extension can enhance the performance of SQL ServerSQL Server threads issuing I/Os. 이 향상된 기능은 개별 디스크 또는 디스크 컨트롤러의 하드웨어 선호도를 지원하지 않습니다.This enhancement does not support hardware affinity for individual disks or disk controllers.

affinity I/O mask 의 값은 SQL ServerSQL Server 디스크 I/O 작업을 처리하는 데 적합한 다중 프로세서 컴퓨터의 CPU를 지정합니다.The value for affinity I/O mask specifies which CPUs in a multiprocessor computer are eligible to process SQL ServerSQL Server disk I/O operations. 마스크는 가장 오른쪽 비트가 최하위 CPU(0)를 지정하고 그 다음 왼쪽에 있는 비트가 두 번째 최하위 CPU(1)를 지정하는 방식으로 이어지는 비트맵입니다.The mask is a bitmap in which the rightmost bit specifies the lowest-order CPU(0), the bit to its immediate left specifies the next-lowest-order CPU(1), and so on. 33개 이상의 프로세서를 구성하려면 affinity I/O maskaffinity64 I/O mask를 모두 설정합니다.To configure more than 32 processors, set both the affinity I/O mask and the affinity64 I/O mask.

affinity I/O mask 의 값은 다음과 같습니다.The values for affinity I/O mask are as follows:

  • 1바이트 affinity I/O mask 의 경우 하나의 다중 프로세서 컴퓨터에서 CPU가 8개까지 허용됩니다.A 1-byte affinity I/O mask covers up to 8 CPUs in a multiprocessor computer.

  • 2바이트 affinity I/O mask 의 경우 하나의 다중 프로세서 컴퓨터에서 CPU가 16개까지 허용됩니다.A 2-byte affinity I/O mask covers up to 16 CPUs in a multiprocessor computer.

  • 3바이트 affinity I/O mask 의 경우 하나의 다중 프로세서 컴퓨터에서 CPU가 24개까지 허용됩니다.A 3-byte affinity I/O mask covers up to 24 CPUs in a multiprocessor computer.

  • 4바이트 affinity I/O mask 의 경우 하나의 다중 프로세서 컴퓨터에서 CPU가 32개까지 허용됩니다.A 4-byte affinity I/O mask covers up to 32 CPUs in a multiprocessor computer.

  • 33개 이상의 CPU를 처리하려면 처음 32개의 CPU에 대해 4바이트 affinity I/O mask 를 구성하고 나머지 CPU에 대해 최대 4바이트 affinity64 I/O mask 를 구성합니다.To cover more than 32 CPUs, configure a four-byte affinity I/O mask for the first 32 CPUs and up to a four-byte affinity64 I/O mask for the remaining CPUs.

    affinity I/O 패턴의 1비트는 해당 CPU가 SQL ServerSQL Server 디스크 I/O 작업을 수행하는 데 적합함을 나타내고 0비트는 해당 CPU에 대해 SQL ServerSQL Server 디스크 I/O 작업이 예약되지 않음을 나타냅니다.A 1 bit in the affinity I/O pattern specifies that the corresponding CPU is eligible to perform SQL ServerSQL Server disk I/O operations; a 0 bit specifies that no SQL ServerSQL Server disk I/O operations should be scheduled for the corresponding CPU. 모든 비트가 0으로 설정되어 있거나 affinity I/O mask 가 지정되지 않은 경우 SQL ServerSQL Server 디스크 I/O는 SQL ServerSQL Server 스레드를 처리하는 데 적합한 모든 CPU에 대해 예약됩니다.When all bits are set to zero, or affinity I/O mask is not specified, SQL ServerSQL Server disk I/O is scheduled to any of the CPUs eligible to process SQL ServerSQL Server threads.

    SQL ServerSQL Server affinity I/O mask 옵션 설정은 특수 작업이므로 필요한 경우에만 사용해야 합니다.Because setting the SQL ServerSQL Server affinity I/O mask option is a specialized operation, it should be used only when necessary. 대부분의 경우 Windows 2000 또는 Windows Server 2003 기본 선호도를 사용할 때 최상의 성능을 제공합니다.In most cases, the Windows 2000 or Windows Server 2003 default affinity provides the best performance.

    affinity I/O mask 옵션을 지정할 때는 affinity mask 구성 옵션과 함께 사용해야 합니다.When specifying the affinity I/O mask option, you must use it with the affinity mask configuration option. affinity I/O mask 스위치와 affinity mask 옵션에서 동일한 CPU를 사용하지 마세요.Do not enable the same CPU in both the affinity I/O mask switch and the affinity mask option. 각 CPU에 해당하는 비트는 다음 3가지 상태 중 하나여야 합니다.The bits corresponding to each CPU should be in one of the following three states:

  • affinity I/O mask 옵션과 affinity mask 옵션이 모두 00 in both the affinity I/O mask option and the affinity mask option.

  • affinity I/O mask 옵션이 1이고 affinity mask 옵션이 01 in the affinity I/O mask option and 0 in the affinity mask option.

  • affinity I/O mask 옵션이 0이고 affinity mask 옵션이 10 in the affinity I/O mask option and 1 in the affinity mask option.

    affinity I/O mask 옵션은 고급 옵션입니다.The affinity I/O mask option is an advanced option. sp_configure 시스템 저장 프로시저를 사용하여 설정을 변경하는 경우 show advanced options 를 1로 설정했을 때만 affinity I/O mask 를 변경할 수 있습니다.If you are using the sp_configure system stored procedure to change the setting, you can change affinity I/O mask only when show advanced options is set to 1. SQL ServerSQL Server에서 affinity I/O mask 옵션을 다시 구성하려면 SQL ServerSQL Server 인스턴스를 다시 시작해야 합니다.In SQL ServerSQL Server, reconfiguring the affinity I/O mask option requires a restart of the SQL ServerSQL Server instance.

주의

Windows 운영 체제에서 CPU 선호도를 구성하지 말고 SQL ServerSQL Server에서도 선호도 마스크를 구성하지 마십시오.Do not configure CPU affinity in the Windows operating system and also configure the affinity mask in SQL ServerSQL Server. 동일한 결과를 얻기 위해 이렇게 설정하는 경우도 있지만 구성이 일치하지 않는 경우 예상치 못한 결과가 나올 수 있습니다.These settings are attempting to achieve the same result, and if the configurations are inconsistent, you may have unpredictable results. SQL ServerSQL Server CPU 선호도는 sp_configure SQL ServerSQL Server옵션을 사용하여 구성하는 것이 가장 좋습니다. CPU affinity is best configured using the sp_configure option in SQL ServerSQL Server.

참고 항목See Also

리소스 사용 모니터링(시스템 모니터) Monitor Resource Usage (System Monitor)
RECONFIGURE(Transact-SQL) RECONFIGURE (Transact-SQL)
서버 구성 옵션(SQL Server) Server Configuration Options (SQL Server)
sp_configure (Transact-SQL)sp_configure (Transact-SQL)