출처 : http://korea.internet.com

다음 성능 카운터를 면밀히 검사하여 서버에 프로세서, 메모리, 디스크 또는 네트워크 병목 현상이 있는지 확인한다. 웹 서버에서 나타나는 성능 병목 현상을 해결하는 데 도움을 주기 위해 각 카운터에 대한 설명과 함께 측정된 임계값, 권장 사항은 Microsoft TechNet에서 제안한 내용이다. 모든 검사는 2개의 프로세서와 1GB의 물리적 RAM이 있는 웹 서버에서 수행되었다. 성능 카운터는 개체:카운터:인스턴스 형식으로 표시된다.

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 카운터를 사용하여 평균적으로 디스크 액세스를 기다리는 시스템 요청의 수를 확인하는 방법을 고려해야 한다
2005/06/15 14:09 2005/06/15 14:09

트랙백 주소 :: http://thinkit.or.kr/windows/trackback/173