Unix Linux

[WIN] 병목현상 측정을 위한 핵심 카운터

_침묵_ 2005. 10. 19. 05:25
Memory: Available Bytes
이 카운터는 시스템에서 실행되는 프로세스에 사용할 수 있는 실제 메모리
양을 바이트 단위로 표시한다. 이 값은 Zeroed, Free 및 Stand-by 메모리
목록에 공간을 추가하여 계산한다. Free 메모리는 사용할 수 있는 메모리이며,
Zeroed 메모리는 나중에 프로세스가 이전 프로세스에서 사용한 데이터를 보지
못하게 하기 위해 0으로 채워진 메모리 페이지를 나타내며, Stand-by 메모리는
디스크로 보내지는 프로세스 작업 집합에서 제거되었지만 회수할 수 있는
메모리이다. 이 카운터는 마지막으로 검색된 값만 표시한다.

Available Bytes 값이 낮으면(4MB 이하) 시스템의 전체적인 메모리가 부족하거나
프로그램이 메모리를 릴리스하지 않는 경우일 수 있다. 4MB의 임계값에 도달하면
시스템의 가상 메모리가 부족함을 나타내는 이벤트 26이 시스템 이벤트 로그에
기록된다. 메모리가 낮으면 이벤트가 기록될 뿐 아니라 영향받는 시스템의 성능도
저하된다.

메모리 관련 성능 문제를 피하려면 웹 사이트가 최대로 사용될 때를 대비하여
적어도 10%의 메모리를 보유해야 한다.
  
Memory: Cache Bytes
이 카운터는 파일 시스템 캐시의 크기를 보여 준다. 이 크기는 설치된 실제
메모리 크기에 따라 최대 900MB까지 사용 가능한 실제 메모리의 50%를 사용하도록
설정된다. IIS는 메모리가 부족할 때 자동으로 캐시의 데이터를 지우므로 이
카운터는 중요한다. 이 카운터를 아래에서 설명하는 Private Bytes와 함께 사용하면
메모리 누수가 있는 응용 프로그램을 격리할 수 있다.
  
Memory: Page Faults/Sec
이 카운터는 초당 폴트된 평균 페이지 수를 측정한다. 이 카운터는 하드 폴트(디스크
액세스를 필요로 하는 폴트)와 소프트 폴트(실제 메모리에서 폴트된 페이지가 있는
위치)를 모두 포함한다. 대부분의 프로세서가 큰 영향 없이 많은 수의 소프트 페이지
폴트를 처리할 수 있다. 그러나 디스크 액세스를 필요로 하는 하드 폴트는 심각한 성능
문제를 유발할 수 있다. 이 카운터의 값이 낮으면 서버는 빠르게 요청에 응답한다.
이 값이 높으면 나머지 시스템을 위해 충분한 메모리를 남겨 두지 않고 파일 시스템
캐시에 너무 많은 메모리가 할당될 수 있다. 페이지 폴트/초 값이 너무 높으면 서버의
실제 메모리 양을 늘려야 한다.
  
Process: Private Bytes: (Inetinfo, Dllhost)
이 카운터는 Inetinfo가 할당했으며 다른 프로세스와 공유할 수 없는 현재의 메모리
양을 측정한다. 이 카운터는 이러한 프로세스가 긴 기간 동안 메모리를 릴리스하지
않고 시스템에 더 많은 메모리를 할당하고 있다는 사실을 알았을 때 웹 응용 프로그램의
메모리 누수를 격리시키는 데 도움이 된다. 응용 프로그램의 격리 수준이 낮게 설정되면
Private Bytes 카운터에서 Inetinfo 프로세스를 모니터링한다. 격리 수준이 보통이거나
높게 설정되면 해당 DLLHost 프로세스를 모니터링한다.
  
System: Processor Queue Length
이 카운터는 프로세스 대기열에서 실행을 기다리는 스레드의 수를 나타낸다. 프로세스가
여러 개 있는 컴퓨터에서도 프로세스 시간을 기다리는 준비 대기열은 하나만 있다. 이
카운터는 실행 중인 스레드가 아니라 준비 스레드만 계산한다. 프로세서당 스레드가 2개가
넘는 프로세서 대기열 길이는 서버가 느리게 작동하거나 응답하지 않는 프로세서 정체
상태를 나타낼 수 있다. 여러 프로그램 프로세스가 프로세서 시간을 위해 경쟁하는 경우
더 빠른 프로세서를 설치하여 처리량을 향상시킬 수 있다. 멀티스레드 프로세스를 실행하는
경우에는 프로세서를 추가하는 것이 도움이 될 수 있지만 이러한 경우에 얻을 수 있는
이점은 제한되어 있다.
긴 스레드 대기 상황에서는 한 대의 유휴 시스템에 두 개 이상의 프로세스 대기열이 있을
수 있다.
  
Processor: % Processor Time
이 카운터는 프로세서가 비유휴 스레드를 실행하는 데 사용하는 시간(%)을 표시한다.
이 카운터는 프로세서 활동에 대한 기본 지표로, 서버 작동 중단이나 무응답 상태와 같은
문제를 해결하는 데 사용할 수 있다. 이 성능 카운터를 분석할 때는 컴퓨터의 역할을
이해해야 한다. 예를 들어, CAD 응용 프로그램에 주로 사용되는 컴퓨터를 모니터링하는
경우 CAD 응용 프로그램은 실행 중에 100%의 프로세스 시간을 쉽게 사용할 수 있다. 많은
클라이언트 요청을 처리하는 서버에서 이 값이 100%에 가깝다면 사용 가능한 프로세서
시간을 기다리기 위해 프로세스가 대기 중이므로 병목 상태일 것이다. 따라서 서버에서
100%에 가까운 프로세서 사용률을 유지하는 일은 불가능하며, 프로세서를 추가하거나 작업
로드를 수정해야 한다. 웹 서버에서 허용되는 프로세서 사용률 임계값은 70%이다.
  

Network Interface: Bytes Total/Sec
이 카운터는 네트워크 인터페이스에서 바이트를 보내고 받는 속도를 측정한다. 네트워크
연결에서 병목 현상이 발생하는지 확인하려면 Network Interface: Bytes Total/sec 카운터
값과 네트워크 어댑터 카드의 총 대역폭을 비교해 보십시오. 급격히 증가하는 트래픽에
대비하려면 용량의 50% 이하만 사용해야 한다. 이 값이 연결 용량에 거의 근접하고
프로세서와 메모리 사용량에 문제가 없으면 연결에 문제가 있는 것이다.
  
Physical Disk: % Disk Time
이 카운터는 선택한 디스크 드라이브가 읽기 및 쓰기 요청을 처리하는 시간을 측정한다.
이 카운터 값이 높으면(90% 초과) Physical Disk: Current Disk Queue Length 카운터를
검사하여 디스크 액세스를 기다리는 시스템 요청 수를 확인해야 한다. 대기 I/O 요청 수는
실제 디스크를 구성하는 스핀들 수의 1.5-2배 수준으로 유지되어야 한다. 스핀들 정보에
대해서는 서버 제조업체에 문의한다. 일반적으로 대부분의 디스크에는 스핀들이 하나만
있지만 RAID 장치에는 더 많은 스핀들이 있다. 하드웨어 RAID 장치는 시스템 모니터에
하나의 실제 디스크로 나타나지만 소프트웨어를 통해 만들어진 RAID 장치는 여러 드라이브로
나타난다. 각 실제 드라이브(RAID가 아닌)의 Physical Disk 카운터를 모니터링하거나 _Total
인스턴스를 사용하여 모든 컴퓨터 장치의 데이터를 모니터링할 수 있다.

Physical Disk: Current Disk Queue Length 및 Physical Disk: % Disk Time 카운터 값을
사용하여 디스크 하위 시스템의 병목 현상을 찾아 내십시오.이들 값이 모두 높으면 디스크
드라이브를 업그레이드하거나 자주 액세스하는 파일을 다른 디스크나 서버로 옮기는 것을
고려할 수 있다.

RAID 장치를 사용하는 경우 % Disk Time이 100%보다 더 큰 값을 나타낼 수 있다. 이 경우
Physical Disk: Average Disk Queue Length 카운터를 사용하여 평균적으로 디스크 액세스를
기다리는 시스템 요청의 수를 확인하는 방법을 고려해야 한다
 
-----
출처 :

'Unix Linux' 카테고리의 다른 글

[펌] 솔라리스 어드민 요약 문서  (0) 2005.11.09
[펌] so 파일 생성  (0) 2005.10.06
[펌] 유닉스 보안 4  (0) 2005.05.31