퍼포먼스 모니터링
- OS자체 도구
리눅스/유닉스 :vmstat, iostat, mpstat
윈도우 : 작업관리자 성능 탭
- MySQL자체 도구
기동 후 메모리 상의 성능 수치를 추적
SHOW STATUS 커맨드로 확인 가능
Cricket, SNMP 또는 자체 제작 스크립트 사용 가능
MySQL Administrator 사용 가능(GUI형태)
- 쿼리는 MySQL 로그를 통해서 추적
General Log :
일반적으로 사용안함(IO증가량이 높음, 5.0이전은 설정변경시 재기동 필요),
모든 사용자의 입력을 로깅,
액션전에 저장되어 유용
Slow Query Log :
느린 쿼리에 대한 로그
MySQL에서 Thread 모니터링
- MySQL은 Thread기반 서버
SHOW FULLPROCESSLIST
STATE컬럼을 통해 각 쿼리가 현재 어떻게 수행되고 있는지를 확인가능
- 성능관련 문제는 아래 작업을 통해 확인 가능
Processlist 모니터링
SHOW STATUS의 내용을 확인
- 급박한 문제는 쓰레드 KILL을 통해 제거 가능
잘못된 쓰레드는 Processlist로 확인
해당 프로세스 ID를 KILL
MySQL STATUS
- 동작 상태에 대한 항목 수집
- 서버의 현재 동작 상태를 모니터링
- 서버를 최적화 할때 가이드로 이용
- Status항목은 아래 두가지 방법으로 확인 가능
MySQL Administrator - GUI형태로 제공
기본적인 STATUS 모니터링
- mysqladmin은 기본적인 관리툴 : 10초마다 갱신
3rd Party 모니터링 툴 - MyTOP
- MySQL의 정보를 TOP과 같이 보여주는 툴
- 전체 쓰레드 리스트를 보여줌
- Database나 Host별 필터링 가능
- 커넥션에 대한 kill을 쉽게 수행
- QPS를 쉽게 확인 가능
3rd Party 모니터링 툴 - innotop
- InnoDB엔진에 대한 Status는 "show engine innodb status"로 확인 가능
- 그 결과를 해석하기 편하게 정리해주는 툴
- http://www.xaprb.com/blog/2006/07/02/innotopmysql-innodb-monitor/
기본 STATUS 항목
- 서버의 시작후 동작시간은 uptime으로 확인 가능
- com_xxx항목은 서버시작 이후 xxx관련 명령이 얼마나 수행되었는지 나타냄
- Questions는 서버로 전송된 총 쿼리 수를 나타냄
- 이러한 전체 동작 양상과 select와 U/D/I 비율 등을 추출할 수 있음
댓글 없음:
댓글 쓰기