류짱:Beyond MySelf

IIS 웹 서버의 성능 카운터 체크리스트 본문

Microsoft/IIS 6.0~7.5

IIS 웹 서버의 성능 카운터 체크리스트

リュちゃん 2011. 3. 22. 11:24

IIS 성능 모니터 관련 내용을 찾다가 좋은 글을 찾아서 그대로 copy 해서 올립니다. 아래 내용 말고도 업무에 참고 할 만한 많은 내용들이 있네요.....

http://blogs.msdn.com/b/mermaid207/archive/2008/11/21/iis-performance-counter-checklist.aspx

IIS 
웹 서버의 성능에 영향을 줄 수 있는 대표적인 리소스에는 processor, process, physical, network 이 있습니다.여기서는 각각의 리소스 사용을 확인하기 위해 살펴보아야 할 성능 카운터항목은 무엇이며 카운터가 의미하는 바가 무엇 인지와 각 카운터의 병목을 판단할 수 있는 임계치 값에 대해서 알아보겠습니다.

1. Memory

메모리 성능 카운터는 IIS 웹 서버의 성능 문제가 발생했을때 가장 기본적으로 살펴보아야 할 요소입니다따라서현재 메모리가 충분한지 판단하고 사용 상태를 보는 것이 중요합니다메모리와 관련된 성능 병목이 있는지 확인하기 위해서는 다음 카운터를 살펴보아야 합니다.

Memory

Available Bytes

Committed Bytes

Page Reads/sec

Paging File

%Usage

각 항목이 의미하는 바는 다음과 같습니다.

Memory / Available Bytes

현재 프로세스에서 사용할 수 있는 메모리의 바이트 수를 의미합니다다시말하면, 사용 가능한RAM이 얼만큼 남았는지 보여주는 카운터입니다이 값의 임계치는 전체 메모리 크기의 5% 이하일 때 입니다.

Memory / Committed Bytes
커밋된 가상 메모리의 양을 바이트 단위로 나타낸 것입니다커밋된 메모리란 디스크 페이징 파일에 예약된 공간이 있는 실제 메모리입니다이는 Available Bytes와 반비례 합니다.

Memory : Page Reads/sec

프로세스가 메모리의 페이지를 요청하는데 시스템이 요청한 위치에서 해당 페이지를 찾을 수 없으면 페이지 부재가 발생합니다요청한 페이지가 메모리의 다른 위치에 있을 경우는 대부분의 프로세서가 큰 영향없이 처리할 수 있습니다하지만메모리가 아닌 디스크에서 페이지를 검색해야 할 경우 큰 지연 현상이 발생할 수 있습니다. Page Reads/sec는 이러한 페이지 부재를 해결하기 위해 디스크를 읽는 횟수를 의미합니다.

 Paging File : %Usage

현재 사용중인 페이징 파일의 백분율을 말합니다이 수치가 100%에 도달하게 되면 페이징 파일을 늘리거나 RAM을 더 추가시켜야 함을 의미합니다.

2. Processor

하나 이상의 프로세스가 프로세서 시간의 대부분을 사용할 경우 프로세서의 병목 현상이 발생할 수 있습니다이 경우 실행을 준비하고 있는 프로세스의 쓰레드가 프로세서를 사용할 수 있을 때까지 대기열에서 대기하게 됩니다.

Processor

%Processor Time

%Privileged Time

Process

%Processor Time

System

Processor Queue Length

각 항목이 의미하는 바는 다음과 같습니다.

Processor / %Processor Time
모든 프로세스 스레드가 프로세서를 사용하여 명령을 실행하는 데 경과된 시간을 백분율로 나타낸 값입니다일반적으로 70% 이상이 사용되고 있다면 과부하라고 판단할 수 있습니다.

Processor / %Privileged Time

%Privileged Time 이란 프로세서가 특권 모드(운영 체제 구성 요소 및 하드웨어 디바이스 드라이버를 위해 만든 처리 모드)로 실행된 시간을 백분율로 나타낸 값입니다반면, %User Time는 프로세서가 사용자 모드로 실행된 시간을 백분율로 나타낸 값을 말합니다이 값이 높으면 서버에서 응용 프로그램이 많이 실행되고 있음을 나타냅니다추가적으로, %Processor Time  %Privileged Time  %User Time을 합한 값을 의미합니다.

Process / %Processor Time

모든 프로세스 스레드가 프로세서를 사용하여 명령을 실행하는 데 경과된 시간을 백분율로 나타낸 값입니다.

System / Processor Queue Length

CPU큐에서 현재 실행이 되고 있지 않고 대기하고 있는 쓰레드의 수입니다일반적으로 이 값이 일정 기간 동안 CPU  x 2보다 크다면 서버의 프로세서 성능이 부족하다는 것을 말합니다..

 

3. Physical Disk

디스크는 서버에서 프로그램 및 데이터를 저장하고 처리하므로 디스크 사용량 및 속도에 영향을 미치는 병목 현상은 서버의 전체적인 성능에 큰 영향을 줍니다.

Physical Disk

%Disk Time

Average Disk Queue Length


각 항목이 의미하는 바는 다음과 같습니다.

Physical Disk / %Disk Time

선택한 디스크 드라이브가 읽기 또는 쓰기 요청을 처리하는데 사용된 시간을 백분율로 나타낸 것입니다이 카운터가 100%가 되면 디스크 성능 상에 문제가 있음을 의미합니다.

Physical Disk / Average Disk Queue Length

디스크가 읽기와 쓰기 요청을 수용할 정도로 빠르지 않으면 해당 요청은 대기열에 넣게 됩니다여기에서 이 값이 0보다 크면 디스크 자체에 병목 현상이 있음을 의미합니다.


 

4. Network

네트워크 병목 현상은 네트워크에서 데이터를 송수신하는 서버의 성능에 영향을 미칩니다서버의 네트워크 카드에 문제가 있을 수 있거나네트워크가 포화 상태여서 분할해야 할 수 있습니다다음 카운터를 사용하여 네트워크 병목 현상을 진단할 수 있습니다.

Network Interface

Bytes Total/sec

Output Queue Length

Web service

Bytes Total/sec



각 항목이 의미하는 바는 다음과 같습니다.

Network Interface / Bytes Total/Sec
네트워크 인터페이스에서 주고 받는 초당 총 데이터의 수(Bytes) 또는 속도를 말합니다사용 가능한 대역폭과 이 값을 비교하면 발생할 수 있는 네트워크 병목 상태를 명확하게 표시할 수 있습니다일반적으로 바이트 수/초는 사용 가능한 총 대역폭의 50% 이하로 유지해야 합니다.

Network Interface / Output Queue Length

출력 패킷 큐의 길이를 의미하며이 값이 0보다 크면 네트워크 병목 현상을 의심해 볼 수 있습니다.

Web Service / Bytes Total/sec

웹 서버에서 보내고 받은 바이트의 합계를 표시합니다.