저장소 성능 모니터링 및 문제 해결

업데이트 날짜: 2009년 11월

적용 대상: Office SharePoint Server 2007

 

마지막으로 수정된 항목: 2015-03-09

이 항목에서는 Microsoft Office SharePoint Server 2007 환경에서 실행하는 SQL Server 데이터베이스의 성능을 모니터링할 때 권장되는 성능 카운터를 살펴 봅니다. 또한 각 카운터의 대략적인 정상 값도 살펴 봅니다.

성능을 모니터링하고 성능 카운터를 사용하는 방법에 대한 자세한 내용은 성능 모니터링(https://go.microsoft.com/fwlink/?linkid=105584&clcid=0x412)을 참조하십시오.

모니터링할 실제 서버 카운터

다음 카운터를 모니터링하여 서버 상태를 확인합니다.

  • Processor: % Processor Time: _Total   이 카운터에서는 프로세서에서 유휴 상태 이외의 응용 프로그램 또는 운영 체제 프로세스를 실행하는 시간(백분율)을 표시합니다. SQL Server를 실행하는 컴퓨터에서 이 카운터는 50% - 70% 사이를 유지해야 합니다. 오버로드가 지속되는 경우 프로세스 작업이 비정상적인지 또는 서버에 추가 CPU가 필요한지를 조사합니다.

  • System: Processor Queue Length   이 카운터에서는 프로세서 큐의 스레드 수를 표시합니다. 이 카운터를 모니터링하여 코어 CPU 수의 2배 미만인지 확인합니다.

  • Memory: Available Mbytes   이 카운터는 컴퓨터에서 실행 중인 프로세서가 사용할 수 있는 실제 메모리 크기(MB)를 표시합니다. 이 카운터를 모니터링하여 총 사용 가능한 실제 RAM의 20% 이상 수준을 유지하는지 확인합니다.

  • Memory: Pages/sec   이 카운터는 하드 페이지 폴트를 해결하기 위해 디스크에서 페이지를 읽거나 디스크에 쓴 비율을 표시합니다. 이 카운터를 모니터링하여 100 이하인지 확인합니다.

이에 대한 자세한 내용 및 메모리 문제 해결 방법을 보려면 SQL Server 2005 메모리 사용 모니터링(https://go.microsoft.com/fwlink/?linkid=105585&clcid=0x412)을 참조하십시오.

모니터링할 디스크 카운터

디스크 상태를 확인하려면 다음 카운터를 모니터링합니다. 다음 값은 급상승 구간의 값이나 단일 측정에 기반한 값이 아닌 시간 경과에 따라 측정한 값을 나타냅니다.

  • Physical Disk: % Disk Time: DataDrive   이 카운터에서는 선택한 디스크 드라이브가 읽기 또는 쓰기 요청을 지원하면서 경과한 시간의 백분율을 표시합니다. 이 카운터를 모니터링하여 디스크 수의 2배 미만인지 확인합니다.

  • Logical Disk: Disk Transfers/sec   이 카운터에서는 읽기 및 쓰기 작업이 디스크에서 수행되는 비율을 표시합니다. 이 카운터를 사용하여 읽기 및 쓰기 작업의 변화 추이 및 예측을 적절하게 모니터링합니다.

  • Logical Disk: Disk Read Bytes/secLogical Disk: Disk Write Bytes/sec   이 카운터에서는 읽기 또는 쓰기 작업 중에 바이트를 전송한 비율을 표시합니다.

  • Logical Disk: Avg. Disk Bytes/Read   이 카운터에서는 읽기 작업 중에 디스크에서 전송한 평균 바이트 수를 표시합니다. 이 값은 디스크 대기 시간을 반영할 수 있으며, 읽기 작업이 커지면 대기 시간이 조금 늘어날 수 있습니다.

  • Logical Disk: Avg. Disk Bytes/Write   이 카운터에서는 쓰기 작업 중에 디스크에서 전송한 평균 바이트 수를 표시합니다. 이 값은 디스크 대기 시간을 반영할 수 있으며, 쓰기 작업이 커지면 대기 시간이 조금 늘어날 수 있습니다.

  • Logical Disk: Current Disk Queue Length   이 카운터에서는 성능 데이터를 수집하는 시점에 디스크에서 해결되지 않은 요청 수를 표시합니다. 이 카운터의 값은 낮을수록 좋습니다. 디스크당 값이 2보다 크면 병목 현상일 수 있으므로 확인해야 합니다. 즉, 4개 디스크로 구성된 LUN에서 최대 8개의 값이 적합합니다. 병목 현상이 발생하면 디스크에 액세스하는 현재 서버 외부로 백로그가 분산될 수 있으며 사용자의 대기 시간이 길어질 수 있습니다. 병목 현상을 방지하려면 RAID 배열에 디스크를 추가하거나 기존 디스크를 더 빠른 디스크로 교체하거나 다른 디스크로 데이터를 이동합니다.

  • Logical Disk: Avg. Disk Queue Length   이 카운터에서는 표본 기간 중 선택한 디스크에서 대기 중인 평균 읽기 및 쓰기 요청 수를 표시합니다. 헤드당 해결되지 않은 읽기 및 쓰기 요청 수가 2개 이하여야 한다는 규칙이 있지만 구성 간 RAID 수준이 다르고 저장소 가상화 때문에 해당 값을 측정하기 어렵습니다. 평균 디스크 큐 길이보다 크고 평균 디스크 대기 시간보다 긴지 함께 확인합니다. 이 두 값은 다른 응용 프로그램과 공유하는 스핀들이 성능에 영향을 주거나 저장소 배열 캐시가 과용됨을 나타낼 수 있습니다.

  • Logical Disk: Avg. Disk sec/ReadLogical Disk: Avg. Disk sec/Write   이 카운터는 디스크에 대한 읽기 또는 쓰기 작업에 걸리는 평균 시간(초)을 표시합니다. 이 카운터를 모니터링하여 디스크 용량의 85% 미만인지 확인합니다. 읽기 또는 쓰기 작업에서 차지하는 크기가 이 디스크 용량의 85%를 초과하는 경우 디스크 액세스 시간이 크게 늘어납니다. 하드웨어의 특정 용량을 확인하려면 공급업체 문서를 참조하거나 SQLIO Disk Subsystem Benchmark Tool을 사용하여 해당 크기를 계산합니다. 자세한 내용은 SQLIO Disk Subsystem Benchmark Tool(영문)(https://go.microsoft.com/fwlink/?linkid=105586&clcid=0x412)을 참조하십시오.

    • Logical Disk: Avg. Disk sec/Read   이 카운터는 디스크에서 읽기 작업에 걸리는 평균 시간(초)을 표시합니다. 효율적으로 조정된 시스템에서 이상적인 값은 로그의 경우 1 - 5 밀리초(ms)(이상적인 값: 캐시된 배열에서 1ms), 데이터의 경우 4 - 20 ms(이상적인 값: 10ms 미만)입니다. 최대 사용 시간 중에는 대기 시간이 길어질 수 있지만 높은 값이 정기적으로 나타나면 원인을 조사해야 합니다.

    • Logical Disk: Avg. Disk sec/Write   이 카운터는 디스크에서 쓰기 작업에 걸리는 평균 시간(초)을 표시합니다. 효율적으로 조정된 시스템에서 이상적인 값은 로그의 경우 1 - 5 ms(이상적인 값: 캐시된 배열에서 1ms), 데이터의 경우 4 - 20 ms(이상적인 값: 10ms 미만)입니다. 최대 사용 시간 중에는 대기 시간이 길어질 수 있지만 높은 값이 정기적으로 나타나면 원인을 조사해야 합니다.

    Avg. Disk sec/Read 또는 Avg. Disk sec/Write와 함께 RAID 구성을 사용하는 경우 다음 표에 표시된 식을 사용하여 디스크의 입출력 속도를 확인합니다.

    RAID 수준

    RAID 0

    디스크당 I/O = (쓰기 + 읽기) / 디스크 수

    RAID 1

    디스크당 I/O = [읽기 + (2 * 쓰기)] / 2

    RAID 5

    디스크당 I/O = [읽기 + (4 * 쓰기)] / 디스크 수

    RAID 10

    디스크당 I/O = [읽기 + (2 * 쓰기)] / 디스크 수

    예를 들어 RAID 1 시스템에 실제 디스크가 2개이고 카운터가 다음 표에 표시된 값인 경우 다음과 같이 계산됩니다.

    카운터

    Avg. Disk sec/Read

    80

    Logical Disk: Avg. Disk sec/Write

    70

    Avg. Disk Queue Length

    5

    디스크당 I/O 값은 다음과 같이 계산됩니다. (80 + (2 * 70))/2 = 110

    디스크 큐 길이는 다음과 같이 계산됩니다. 5/2 = 2.5

    이 경우 경계에서 I/O 병목 현상이 발생합니다.

기타 모니터링 도구

SQL Server 2008에서 sys.dm_io_virtual_file_stats 동적 관리 뷰를 사용하여 디스크 대기 시간 및 분석 경향을 모니터링할 수도 있습니다. 자세한 내용은 sys.dm_io_virtual_file_stats(Transact-SQL)(https://go.microsoft.com/fwlink/?linkid=105587&clcid=0x412)를 참조하십시오.

문제 해결

디스크 또는 RAID에서 병목 현상이 발생한 경우 다음 작업을 수행할 수 있습니다.

  1. 별도의 디스크 또는 RAID 배열로 파일을 재배치합니다.

  2. 배열에 디스크를 추가합니다.

  3. 콘텐츠를 분리할 수 없는 경우(예: 하나의 콘텐츠 데이터베이스 파일) 디스크를 더 빠른 디스크로 교체합니다.

  4. 가능한 경우 관련 콘텐츠 데이터베이스를 여러 데이터베이스로 분리합니다(즉, Stsadm.exe 명령줄 도구 또는 Microsoft Office SharePoint Designer와 같은 도구를 사용하여 사이트 모음을 재배치하거나 분리). 문제가 지속되면 문제 해결 단계를 처음부터 반복합니다.