서비스 장애

unix and linux 2008. 5. 3. 05:09

 

top 명령어 이용

top - 19:35:53 up 162 days, 17:45,  2 users,  load average: 0.00, 0.00, 0.00
Tasks:  85 total,   1 running,  84 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0% us,  0.1% sy,  0.0% ni, 99.8% id,  0.1% wa,  0.0% hi,  0.0% si
Mem:   2074864k total,   998028k used,  1076836k free,    67252k buffers
Swap:  2096472k total,        0k used,  2096472k free,   543748k cached

보통 load average 의 수치중 cpu당 2가 넘으면 서비스 지연 현상이라고 판단한다.

 

예를 들어 dual core 1 짜리는 4가 넘으면 서비스 장애라 판단하고, 즉각적인 조치를 취해야 한다.

 

 

아파치 프로세스 갯수 이용

pstree | grep httpd

일반 웹서버는 보통 200 밑을 유지하도록 하는 게 좋다.  (사실 정확하게 말하면 이건 거짓이다. 서비스마다 많이 불려지는 URL에 따라서 성능은 좌우된다... 우리회사의 경우는 200밑을 유지시키고, transaction(server-status)이 30밑이 안넘게 한다.)

절대 이 수치는 상대적인 값이다. 중형서버의 경우, 쿼드 쿼어의 경우가 각각 다르다.

 

하지만, 경험상 수치가 비정상적으로 급격하게 올라가는 경우.. 이는 어딘가 바틀렉이 생기거나 아파치 리쿼스트가 엄청나게 들어오는 경우를 의미한다.

 

io stat 확인

dmesg 이용하여 파일쪽에 이상이 없는 지 확인한다

또한 네트웍 연결하다가 소켓 타임아웃이 나면서 리쿼스트가 많이 쌓여서 바틀렉이 있는지 확인한다.

 

Sar 명령어 이용하여 cpu, network, io쪽을 잘 보면서 서비스 장애 원인을 시스템적으로 파고,

apache, tomcat 로그도 보면서 정확하게 원인분석이 필요하다.

 

 

 

Posted by '김용환'
,