0. mysql 성능 모니터링
(1) 툴
[리눅스]
- vmstat, iostat, mpstat
[mysql]
- SHOW STATUS 커맨드를 통해 현재 서버 상태를 파악
- Cricket, SNMP 또는 자체 제작 스크립트를 사용
- MySQL Administrator
[기타툴]
mytop
innotop (http://www.xaprb.com/blog/2006/07/02/innotopmysql-innodb-monitor)
(2) mysql
show full processlist
show status (mysqladmin extended-status, MySQL Administrator이용)
ex) mysqladmin –i 1 extended-status 1초마다 mysql 의 전체 status 확인 가능
급박한 경우는 kill을 사용하면 된다. kill
시간이 오래걸리는 프로세는 perl코드를 이용하여 조절이 가능하다.
$result = mysql_query("SHOW FULL PROCESSLIST");
while ($row=mysql_fetch_array($result)) {
$process_id=$row["Id"];
if ($row["Time"] > 200 ) {
$sql="KILL $process_id";
mysql_query($sql);
}
}
1. staus 항목 분석
(1) com_xxx 항목은 서버 시작 이후 xxx 관련 명령이 얼마나 수행됐는지를 나타냄
ex) com_select는 총 수행된 select 쿼리 수
Com_begin, Com_commit, Com_rollback, Com_insert, Com_update, Com_select, Com_delete
(2) questions는 서버로 전송된 총 쿼리 수를 나타냄
'DB' 카테고리의 다른 글
mysql-성능튜닝 #4(innodb) (0) | 2008.05.23 |
---|---|
mysql-성능튜닝 #2 (0) | 2008.05.23 |
mysql 의 wait_timeout의 의미 (0) | 2008.05.23 |
mysql> show variables (0) | 2008.05.23 |
mysql 기본 설정 보기 (2) | 2008.05.23 |