DJ메탈짱™의 Free Style

성능카운터 임계치 Check (성능모니터링) 본문

일(job)/OS

성능카운터 임계치 Check (성능모니터링)

뽀&쏭 2016. 1. 27. 17:16
CPU 카운터 병목현상 임계치
Resource Object\Counter Suggested Threshold Comments
Processor Processor\%Processor Time 95% L2 캐시가 크고, 더욱 빠르며, 더 많은 수의 CPU로 업그레이드 한다.
Processor

Processor\Interr

upts/sec

Depends on Processor 디스크,네트워크 카드,다른 장치들이 인터럽트를 발생하는데 이의 간접 카운터로서 측정할 수 있다.
Processor Processor\%Interrupt Time Depends on Processor 매우 급격하게 증가되는 것은 주로 하드웨어에 문제가 발생했을 경우이다. SMP 시스템에서 인터럽트를 분산시켜주는 affinity를 이용한다.
Server Server Work Queue\Queue Length 4 현재의 컴퓨터에 대한 서버 작업 큐의 길이를 추적한다. 이 수치가 4의 임계치에 다다르면 CPU에 병목현상이 발생한 것이다. 이는 순간적으로 측정한 수치이며, 정확한 측정을 위해서는 장시간 측정을 해보아야 한다.
Multiple Processor System\Processor Queue Length 2 이는 순간적인 카운터이다. 얼마 정도의 기간 동안 측정해야 할 필요가 있다. 2 이상의 작업이 남아있다면 이는 병목현상이 있다고 생각을 할 수가 있다. 작은 수의 프로세스보다 더 많은 수의 프로세스가 CPU Time을 경쟁하게 되면 더 빠르고, L2캐시가 큰 CPU로 업그레이드 해주므로서 성능을 개선할 수가 있다. 현재 Multi-Thread Application을 사용하고 있다면, CPU를 추가로 설치하는 것은 훨씬 도움이 많이 되지만, CPU를 추가한 만큼의 성능을 증가시키는 것에는 못 미친다. CPU가 증가하면 메모리에 병목현상이 발생할 우려가 있다.
       
Memory 카운터 병목현상 임계치
Resource Object\Counter Suggested Threshold Comments
Memory Memory\Available Bytes 일반적으로 4MB보다 작으면 RAM의 20~25%보다 작은 수치가 측정이 되면 특정의 프로세스가 메모리 누수를 하고 있기 때문에 프로세스를 확인하거나 RAM을 추가시킨다.
  Memory\Committed Bytes   가상메모리에서 사용이 가능한 여유공간이다. Available Bytes와 반비례한다.
  Memory\Page Fault/sec 20 Page Fault(특정의 프로세스가 방금 전에 RAM에서 원하는 데이터를 불러왔는데 LRU, MRU 알고리즘에 의해서 가상메모리로 어드레싱 데이터를 내렸을 경우 프로세스가 RAM에 접근시 원하는 데이터가 없게 된다. 이 경우 다시 가상메모리(페이징파일)가 있는 디스크로 엑세스를 하게 되는데 이를 Page Fault라고 한다. Page Fault가 자줒 일어난다면 디스크 I/O가 늘어나기 때문에 병목현상이 발생을 하게 된다. 일반적으로 20이 넘어가면 서버가 불안해지며, 특히 메모리가 불량이거나 패리티 에러가 발생했을 경우, 수치가 엄청나게 올라간다. 보통 웹 서버는 80~200 사이는 정상이라고 말한다.
  Memory\Pages/sec 30 초당 페이징 작업이 몇 번 일어나는지에 대한 카운터이다. 이 수치가 높다면 물리적인 메모리가 모자란 것이다. 일반적으로 이 수치가 30 이 넘어가면 RAM이 부족하다고 단정을 지을 수가 있는데, 대신에 Available Bytes 카운터를 같이 참조해야만 한다. 만약에 Available Bytes가 높은데 페이징이 자주 일어나고 있다면 Application이 메모리 관리를 잘못해주고 있는 것이다.
  Memory\Pool Nonpaged Bytes   RAM에서 Non-Paged Pool 시스템 메모리 영역이 존재하는 크기이다. 서버가 유휴상태에서 측정을 했을 때 이 수치가 증가되면 메모리 누수현상이다.
Server Server\Pool Paged Peak 물리적 메모리의 양 Application이 RAM에 데이터를 불러올 때, Page Fault가 일어나서 다시 가상메모리로 데이터를 읽어들이는 경우, Application이 자주 사용하는 데이터의 경우에는 RAM과 가상메모리 사이에 MRU, LRU 알고리즘을 가지고 있는 가상메모리 관리자라는 캐시가 존재한다. Application이 가상메모리에서 데이터를 꺼내오지 않고 가상메모리 관리자 캐시에서 버퍼링(Pooling이라고도 함)된 데이터를 불러오게 될 때, 이를 Non-Paged Memory라고 한다. 이 수치가 높다면 응용프로그램이 현재 급하게 사용이 되고 있다는 것을 의미하며, 이는 메모리에 과부하를 주게 된다. 이 수치가 높다면 응용프로그램의 코드를 수정할 필요가 있다.
       
Disk 카운터 병목현상 임계치
Resource Object\Counter Suggested Threshold Comments
Disk Physical Disk\%Disk Time 90% 더 많은 디스크를 추가시키거나 I/O 작업이 많은 데이터를 다른 파티션으로 옮긴다. 이 카운터 수치는 Current Disk Queue Length 카운터의 수치와 비례한다.
Physical Disk\Disk Reads/sec Depends on manufacturer's specification 현재 디스크의 초당 I/O 전송률을 체크한다. 이 수치가 떨어진다면 RAID 에서 더 많은 디스크를 추가시키거나, 더 빠른 디스크로 교체를 한다. 일반적으로 Ultra SCSI 디스크는 초당 50번 정도의 I/O 작업을 수행할 수가 있다.
Physical Disk\Disk Writes/sec
Physical Disk\Current Disk Queue Length Number of spindles plus 2 이 카운터는 순간카운터이다. 순간적으로 수치가 높게 나온다고해서 문제가 있다고 판단할 수는 없으며, 장시간 측정을 할 필요가 있다. 일반적으로 Physical Disk\Avg.Disk Queue Length 카운터를 이용한다.
       
Network 카운터 병목현상 임계치
Resource Object\Counter Suggested Threshold Comments
Network Network Segment\%Net Utilization Depends on type of network 네트워크 카드가 Full-Duplex 동작 중에 약 80% 정도의 수치를 나타내고 있다면 병목현상으로 생각할 수 있다.
Processor

Processor\Interr

upts/sec

Depends on Processor 이 카운터는 하드웨어 장치, 주로 네트워크 카드에서 하드웨어적인 문제가 발생시에 급격하게 올라갈 수가 있다. SMP 환경에서 Affinity tool을 사용하여 인터럽트를 원하는 CPU에 분산시키면 병목현상을 완화할 수가 있다.
Server Server\Work Item Shortages 3

이 수치가 3에 가까워지면 레지스트리에서의 InitWorkItems 또는 MaxWorkItems을 수정해 줄 필요가 있다.(HKEY_LOCAL_MACHINE\SYSTEM\CurrentC

ontrolSet\Services\LanmanServer)

Server Server\Bytes Total/sec   이 수치가 현재 장착되어 있는 네트워크 카드의 최대 전송률과 비슷하게 된다면 추가적인 네트워크 카드가 필요하다.
Network Segment Network Segment\%Network Utilization Depends on Network 현재 네트워크에 연결된 Host들이 네트워크의 대역폭을 얼마나 사용하고 있는지 측정할 수가 있다. 이 수치는 현재의 네트워크 인프라와 토폴로지에 관계가 있으며 수치가 30~40%에 근접한다면 네트워크 충돌을 야기할 수가 있다.