웹마스터 팁

http://coffeenix.net/글쓴이 : 좋은진호(truefeel, http://coffeenix.net/ )
작성일 : 2003.9.2(화)
수정일 : 2003.9.7(일)

mytop은 MySQL DB 퍼포먼스를 top명령어처럼 실시간으로 모니터링하는 툴이다.
홈페이지 : http://jeremy.zawodny.com/mysql/mytop/

MySQL의 show full processlist와 show status 쿼리 결과값을 토대로 디스플레이하는데,
화면 설명은 뒤에서 할 것이다.

운영 환경은 다음과 같다. (mytop은 perl로 개발되었다.)

* Perl
* 펄 모듈 - DB관련 - DBI, DBD::mysql (필수)
* 펄 모듈 - Term::ReadKey  (필수)
* 펄 모듈 - 컬러로 보기위해서는 Term::ANSIColor (선택)
* 펄 모듈 - 보다 나은 실시간 정보를 위해서는 Time::HiRes (선택)

1) 설치

설치는 과정은 다음 순서대로.

펄 모듈 DBI, DBD::mysql -> Term::ReadKey ->선택사항과 관련된 모듈 -> mytop
DBI와 DBD::mysql 모듈은 보통 설치된 경우(Redhat 8이상은 기본, 7.x는 DBI 기본)가
많으며 설치 안됐더라고 CPAN에서 받아서 설치하면 된다.

http://search.cpan.org/dist/DBI/
http://search.cpan.org/dist/DBD-mysql/
http://search.cpan.org/dist/TermReadKey/
http://search.cpan.org/dist/ANSIColor/

모듈의 설치과정은 모두 다음 과정을 따르면 된다. mytop도 마찬가지 방법으로 설치한다.
-------------------------------------------
# tar xvfz ?????.tar.gz
# cd ?????
# perl Makefile.PL
# make
# make test
# make install
-------------------------------------------

2) 실행화면

# mytop -u root -p ?????? (???는 mysql DB root PW)



부분별 의미를 알아보자.

============================= ========================== =======================
표  시            의  미          관련 show status 변수명
============================== ========================== =======================
MySQL on localhost (3.23.49a)  호스트명과 MySQL 버전
------------------------------ -------------------------- -----------------------
up 11+23:04:23 [17:17:46]    MySQL uptime과 현재 시간  Uptime
============================== ========================== =======================
Queries: 947.4k         uptime중의 총 쿼리 개수   Questions
qps:  1 Slow:   0.0     초당 쿼리 수 평균과     Questions
                slow 쿼리 수        Slow_queries

※ Slow_queries이란 MySQL 서버 설정값인 long_query_time(default는 10초)보다 더 긴
  시간동안 질의된 쿼리 수를 의미한다.
------------------------------ -------------------------- -----------------------
Se/In/Up/De(%):  70/21/04/00 총 쿼리 중 각각 Select,   Com_select
                Insert+Replace,       Com_insert, Com_replace
                Update,           Com_update
                Delete 비율         Com_delete
============================== ========================== =======================
qps now:  2 Slow qps: 0.0   현재 쿼리 수와       Questions
                현재 slow 쿼리 수      Slow_queries
※ Slow qps가 자주 나오면 SQL문 최적화가 필요
------------------------------ -------------------------- -----------------------
Threads:  11 (  3/  0)    11은 쓰레드 총 개수     Threads_connected
                3은 동작중인 쓰레드     Threads_running
                0은 캐시된 쓰레드      Threads_cached
------------------------------ -------------------------- -----------------------
62/12/00/00           각각 현재의 Select,.. 비율 Com_select, ...
============================== ========================== =======================
Key Efficiency: 100.0%     Key 캐시 히트율       Key_reads, Key_read_requests

※ Key Efficiency 높을 수록 키 버퍼에서 읽어들인 것임.
  수치가 99%보다 낮다면 key_buffer_size 조정 필요
------------------------------ -------------------------- -----------------------
Bps in/out: 77.0/537.7     초당 주고받은 평균 bytes  Bytes_received
                              Bytes_send
------------------------------ -------------------------- -----------------------
Now in/out:  8.4/569.6     현재 주고받은 bytes     Bytes_received
                              Bytes_send
============================== ========================== =======================


다양한 실행 옵셥은 man페이지를 통해 확인하기 바란다.
또한 실행중 사용하는 키는 ? 를 누르면 도움말을 볼 수 있다.
c(command별 사용 비율과 건수), p(일시 정지), s(화면 업데이트간격 변경),
q(종료), i(sleeping 상태의 쓰레드 표시 여부 변경) 등 다양하다.

c를 눌러 command별(select, insert, update 등) 사용 비율과 건수를 보자.



3) ~/.mytop 환경 설정

mytop -u ??? -p ??? 처럼 실행했을 땐 패스워드 유출 가능성도 있고 매번 실행하기도
불편할 수 있다. 이럴 땐 홈디렉토리의 ~/.mytop에 설정해두면 된다.

-------------------------------------------
user=root
pass=???????
host=localhost
db=test
port=3306
socket=
-------------------------------------------

참고로 MySQL튜닝에 대한 글은 다음을 읽어보기 바란다.

응용프로그램에서의 최적화 DB와 Mysql (글 문태준)
http://coffeenix.net/doc/mysql/mysql_tuning.html

mysql 최적화 (번역 최영봉)
http://database.sarang.net/database/mysql/tuning/optimize_mysql.html
제목 글쓴이 날짜
MySQL 설치 file 김 무건 2010.05.12
XE운영을 하려면 닷네임(dotname) 호스팅을 사용하시면 안됩니다 [7] nalireco 2010.05.11
XE 사용하기 - 동영상 강좌 [36] 선우(善友) 2010.05.05
공지글 1페이지에만 보이기 [1] 러키군 2010.04.29
특정 카테고리의 최근 이미지 출력 위젯 [3] file 앙띠2 2010.04.28
모듈 선택기 추가 안되는 에러 해결 : 모둘의 브라우저 제목에서 따옴표 '' 뺏더니 해결 [4] file refree 2010.04.27
레이아웃 적용 후 게시판 접근 제한 -> 게시판 board 모듈 재설치 해결 [1] refree 2010.04.24
게시판 스타일변경시 406에러 해결방법 우리랑 2010.04.21
XE 레이아웃 게시판이 3곳이라는 사실 아시나요? [3] serendip 2010.04.19
XE 속도를 개선하기 위한 4가지 방법 (수정 #3) [9] SMaker 2010.04.14
XE 일일이 메뉴출력하지 말고 XE함수들로 한번에 처리하세요! [1] 소렌트. 2010.04.11
[현원式] 개나 소나 하는 CSS - 레이아웃 만들기 / 기초지식 이해편 [3] 현원 2010.04.10
개인 웹서버의 완성 우분투 (서버이전완료) [1] 준타 2010.04.07
[게시판ex] 상단에 나오는 ''포인트'' 말풍선형태 배경이미지 및 PSD소스입니다. [3] file 빨간발 2010.04.04
XE 기본 카운터의 방문자 / 페이지뷰 출력하고 수정하기 [5] 대류 2010.04.03
트위터와 구글톸을 이용한 제로보드XE 새글 알리미 구축하기 [2] 하우하우 2010.04.03
Content 위젯 목록 가로로 정렬 하기 편법 [3] file teryboy 2010.04.01
속도향상에 관해(경험+의견) [3] 아고라 2010.03.31
홈페이지에 계정 사용량, DB 사용량, 현재 트래픽 출력하기 [7] file 대류 2010.03.29
카페24 웹호스팅에서 서브 도메인으로 접속 방법 [5] 데이스타 2010.03.28