Linux DB

Mysql 프로세스가 CPU / 메모리 자원을 비정상적으로 많이 사용하여 서버의 load average가

급증 하거나, 웹페이지 접속시 로딩 속도가 현저히 지연될 경우가 있습니다.

이럴 때에는 쿼리가 처리 되는데 얼마나 시간이 소요 되는지 my.cnf에 slow-query-log를 남기게끔

설정하여 원인 분석을 할 수 있습니다.

 

[mysqld]

log-slow-queries = 로그 파일명

long_query_time = 쿼리 타임

 

ex)

 # vi /etc/my.cnf

[mysqld]

log-slow-queries = /usr/local/mysql/var/mysql-slow.log

long_query_time = 3

위 내용은 쿼리 타임이 '3초'를  초과 하는 쿼리에 대해 /usr/local/mysql/var/mysql-slow.log 파일에 기록 한다는 뜻입니다.


my.cnf에 설정 및 mysql을 리스타트 한 뒤 운영 하다 보면 아래와 같이 slow-query-log가 남게 됩니다.

 

use iamroot;
select max(wr_comment) as max_comment from g4_write_ja
                  where wr_parent = '92' and wr_is_comment = 1;
# Time: 120809 16:08:15
# User@Host: iamroot[iamroot] @  []
# Query_time: 253  Lock_time: 0  Rows_sent: 1  Rows_examined: 419562
select max(wr_comment) as max_comment from g4_write_ja
                  where wr_parent = '92' and wr_is_comment = 1;
# Time: 120809 16:08:17
# User@Host: iamroot[iamroot] @  []
# Query_time: 94  Lock_time: 0  Rows_sent: 0  Rows_examined: 640675
use iamroot;
SELECT count(*) from comment where boardcode=1045552594 and boardidx=274;
# Time: 120809 16:08:23
# User@Host: iamroot[iamroot] @  []
# Query_time: 183  Lock_time: 0  Rows_sent: 1  Rows_examined: 268576

 로그 내용 중 각 항목에 대한 설명은 아래와 같습니다.

Query_time : 쿼리 수행시간
Lock_time : 테이블 LOCK 이 걸린시간
Row_sent : 쿼리 처리 결과 ROW 수
Rows_examined : 쿼리 처리 대상의 ROW 수 

 

번호 제목 글쓴이 날짜 조회 수
45 innodb 설치 및 옵션 호스트웨이 2014.04.14 9139
44 MySQL에서 Query Cache 사용하기 호스트웨이 2012.12.20 1240
43 mysql-5.5.x 에서 character-set 변경 호스트웨이 2012.12.07 1112
42 phpmyadmin에서 'mcrypt 확장모듈을 불러올 수 없습니다' 에러 시 file 호스트웨이 2012.11.29 766
41 [MySQL] 무한정 늘어나는 log-bin 파일 줄이기 호스트웨이 2012.11.23 715
40 [MySQL] 쿼리 한 번으로 데이터베이스 용량 알아내기 file 호스트웨이 2012.11.16 1450
39 mysql 4.0 에서 4.1 다운그레이드 호스트웨이 2012.11.01 990
38 Client does not support authentication protocol requested by server 메시지 발생 시 호스트웨이 2012.10.18 1086
37 MySQL 설치 시 checking "LinuxThreads"… "Not found" 에러 발생 시 호스트웨이 2012.09.21 5960
36 Mysql에서 log-slow-queries 로그 남기기 호스트웨이 2012.09.21 1129
35 Mysql - mysqldump시 LOCK TABLES 오류 호스트웨이 2012.09.07 13993
34 리눅스에서 MYSQL 데이터 디렉토리 변경 호스트웨이 2012.08.31 15312
» Mysql slow-query를 이용한 로그 분석 호스트웨이 2012.08.10 19630
32 Mysql - 원격 접속 지연 발생시 호스트웨이 2012.08.03 9536
31 mysql 로그 삭제하기 호스트웨이 2012.07.20 7861
30 MySQL 원격 접속이 이뤄지지 않는다면? 호스트웨이 2012.07.13 7691
29 Mysql banchmark tool – sysbanch 설치하기 호스트웨이 2012.07.06 7516
28 MySQL 테이블 구조만 백업받아두기 호스트웨이 2012.06.29 16830
27 안전한 MySQL 접속하기 file 호스트웨이 2012.06.22 9486
26 chive – phpMyAdmin 보다 좋은 ! 호스트웨이 2012.05.18 6887