요즘 고객사에서 성능 이슈를 많이 제기하면서 튜닝 작업이 많아 졌는데
튜닝 작업전에 왜 성능이 떨어지게 되는 원인을 찾을 때 많이 쓰는 Tool 인
Nmon에 대해 포스팅 해보겠습니다.
아래 Nmon은 AIX에서 사용했을 때 입니다.
아무런 옵션 값 없이
- nmon을 입력하면 아래와 같은 화면을 볼 수 있습니다.
현재 시스템의 간략한 정보가 보여지네요 cpu개수, processor 종류 현재 운영체제 이름 등 참고할 만한 정보가 나옵니다.
위의 화면에서 각각 C, M, D를 입력하면
C는 cpu 사용률, M은 memory 사용률, D는 disk 사용률을 보여주며 다시 입력하면 해당 정보들이 사라집니다.
보통 현재 업무의 부하를 볼때 사용됩니다.
이렇게 바로 프롬프트 창에 nmon이라 치면 성능 모니터링이 가능합니다.
위와는 다르게 nmon에 이제 옵션을 주게 되면
nmon은 이제 더 이상 모니터링이 아니라 성능 분석이 용이하게 위의 값들을 파일로 만들어 줍니다.
위의 오타들은 무시해주세요 ㅎ
nmon이라는 디렉토리를 만들어 crontab에 걸기 위한 sh을 만드는 과정입니다.
위의 그림에서 보듯이 nmon -tdf -s 1 -c 60 -m /nmon 이 가장 많이 쓰이는 기본적인 형태 입니다.
(값이 일반적이지는 않습니다.)
각각 옵션을 살펴 보면 -t 옵션은 top process의 정보도 수집하여 시스템에 가장 많은 부하를 주는 process를 알 수 있습니다. -d 옵션은 disk 정보도 수집하게 하는 옵션이며 -f 는 nmon이 수집하는 정보를 파일의 형태로 저장하게 하는 것 입니다.
-s 는 정보 수집의 간격을 나타냅니다. 단위는 초 단위 입니다.
-c 는 수집 횟수를 나타냅니다.
즉 s의 값과 c의 값을 곱하여 nmon을 수행하는 시간을 정할 수 있습니다.
예를 들어 1분간격으로 60번의 정보를 수집한다고 하면
-s 60 -c 60 두값을 곱하면 3600 이고 이 뒤에 초 를 붙이게 되면 3600초로 1시간 동안 nmon이 정보를 수집하게 됩니다.
-m 은 nmon 파일이 저장되는 위치 입니다. 만약 값을 주지 않으면 최상위인 root에 파일이 저장 되게 됩니다.
예에서는 -m /nmon을 하였으니 /nmon 밑에 파일이 저장되게 되겠지요
밑은 crontab 에 등록하여 특정시간에 자동으로 nmon이 돌게 하는 절차 입니다.
위에 vi로 만든 sh에 실행 권한을 추가한 후
crontab -l 로 crontab에 무엇이 등록되어있는지 볼 수 있습니다.
(crotab에 대해서는 후일 포스팅 하겠습니다.)
crontab -e 를 명령어 프롬프트에 치시고 vi 환경으로 아래 처럼 편집 해주시면 됩니다.
crontab 의 * * * * * * 에서
첫 번째 * 은 분을
두 번째 * 은 시간을
세 번째 * 은 일을
네 번째 * 은 월을
다섯 번째 * 은 요일을
여섯 번째 * 에는 명령어나 실행 시킬 sh 을 집어 넣으면 됩니다.
그럼 아래 그림은 매월 매일 22시 마다 nmon.sh 를 수행 하겠다는 crontab 이네요
'연구개발 > MYSQL' 카테고리의 다른 글
MySQL innodb_flush_method 튜닝 포인트 (0) | 2014.11.19 |
---|---|
innodb 처음 사용시 고려 (0) | 2014.11.19 |
mysql 쿼리 결과 파일 저장 (0) | 2014.11.17 |
MySQL filesort 알고리즘 (0) | 2014.11.06 |
replication 재설정 (0) | 2014.10.16 |