CPU 사용량 모니터링

적용 대상:SQL Server

Microsoft SQL Server 인스턴스를 주기적으로 모니터링하여 CPU 사용률이 정상 범위 내에 있는지 여부를 확인합니다. 지속적으로 높은 CPU 사용률은 CPU를 업그레이드하거나 여러 프로세서를 추가해야 한다는 것을 나타낼 수 있습니다. 또는 높은 CPU 사용률이 잘못 조정되거나 디자인된 애플리케이션을 나타낼 수 있습니다. 애플리케이션을 최적화하면 CPU 사용률을 낮출 수 있습니다.

CPU 사용량을 확인하는 효율적인 방법은 성능 모니터 Processor:% Processor Time 카운터를 사용하는 것입니다. 이 카운터는 CPU가 유휴 상태가 아닌 스레드를 실행하는 데 소요되는 시간을 모니터링합니다. 80%에서 90%의 일관된 상태는 CPU를 업그레이드하거나 프로세서를 더 추가해야 한다는 것을 나타낼 수 있습니다. 다중 프로세서 시스템의 경우 각 프로세서에 대해 이 카운터의 별도 인스턴스를 모니터링합니다. 이 값은 특정 프로세서의 프로세서 시간의 합을 나타냅니다. 모든 프로세서의 평균을 확인하려면 시스템: %Total Processor Time 카운터를 대신 사용합니다.

다음과 같은 카운터를 모니터링하여 프로세스 사용을 모니터링할 수도 있습니다.

  • 프로세서: % 권한 있는 시간

    SQL Server I/O 요청 처리와 같은 Microsoft Windows 커널 명령 실행에 프로세서가 소요되는 시간의 백분율에 해당합니다. 실제 디스크 카운터가 높을 때 이 카운터가 일관되게 높은 경우 더 빠르고 효율적인 디스크 하위 시스템을 설치하는 것이 좋습니다.

    참고 항목

    디스크 컨트롤러와 드라이버가 다르면 커널 처리 시간도 다릅니다. 효율적인 컨트롤러 및 드라이버는 권한 있는 시간을 적게 사용하므로 사용자 애플리케이션에서 더 많은 처리 시간을 사용할 수 있으므로 전체 처리량이 증가합니다.

  • 프로세서: %User Time

    프로세서가 SQL Server와 같은 사용자 프로세스를 실행하는 데 소요되는 시간의 백분율에 해당합니다.

  • 시스템: 프로세서 큐 길이

    프로세서 시간을 기다리는 스레드 수에 해당합니다. 프로세스의 스레드에 필요한 프로세서 사이클 수가 사용할 수 있는 개수보다 많으면 프로세서 병목 상태가 발생합니다. 몇 개 이상의 프로세스가 프로세서의 시간을 활용하려고 하면 더 빠른 프로세서를 설치해야 할 수 있습니다. 또는 다중 프로세서 시스템이 있는 경우 프로세서를 추가할 수 있습니다.

프로세서 사용량을 검사할 때 SQL Server 인스턴스가 수행하는 작업 유형을 고려합니다. SQL Server가 집계와 관련된 쿼리 또는 디스크 I/O가 필요하지 않은 메모리 바인딩된 쿼리와 같은 많은 계산을 수행하는 경우 프로세서 시간의 100%를 사용할 수 있습니다. 그 결과 다른 애플리케이션의 성능이 저하되면 작업을 변경해 보십시오. 예를 들어 SQL Server 인스턴스를 실행하도록 컴퓨터를 바칩니다.

많은 클라이언트 요청이 처리되는 약 100%의 사용률은 프로세스가 대기하고 프로세서 시간을 기다리며 병목 상태를 유발하고 있음을 나타낼 수 있습니다. 더 빠른 프로세서를 추가하여 문제를 해결합니다.