mysql- 성능 튜닝 #1

DB 2008. 5. 23. 07:01

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
Posted by '김용환'
,