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 로그도 보면서 정확하게 원인분석이 필요하다.
'unix and linux' 카테고리의 다른 글
특정 디렉토리에서 파일명 뽑아내기 (0) | 2008.06.20 |
---|---|
CentOS, Red hat Enterprise Edition 단상 (0) | 2008.06.05 |
option parsing - bash, perl, c (0) | 2008.04.15 |
rsync FAQ (0) | 2008.04.10 |
ssh 로그인할 때, 암호 안물어보게 하기 (0) | 2008.03.28 |