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 23351
44 MySQL에서 Query Cache 사용하기 호스트웨이 2012.12.20 7085
43 mysql-5.5.x 에서 character-set 변경 호스트웨이 2012.12.07 7199
42 phpmyadmin에서 'mcrypt 확장모듈을 불러올 수 없습니다' 에러 시 file 호스트웨이 2012.11.29 6656
41 [MySQL] 무한정 늘어나는 log-bin 파일 줄이기 호스트웨이 2012.11.23 7050
40 [MySQL] 쿼리 한 번으로 데이터베이스 용량 알아내기 file 호스트웨이 2012.11.16 7151
39 mysql 4.0 에서 4.1 다운그레이드 호스트웨이 2012.11.01 6615
38 Client does not support authentication protocol requested by server 메시지 발생 시 호스트웨이 2012.10.18 7603
37 MySQL 설치 시 checking "LinuxThreads"… "Not found" 에러 발생 시 호스트웨이 2012.09.21 11308
36 Mysql에서 log-slow-queries 로그 남기기 호스트웨이 2012.09.21 6808
35 Mysql - mysqldump시 LOCK TABLES 오류 호스트웨이 2012.09.07 25029
34 리눅스에서 MYSQL 데이터 디렉토리 변경 호스트웨이 2012.08.31 20791
» Mysql slow-query를 이용한 로그 분석 호스트웨이 2012.08.10 27655
32 Mysql - 원격 접속 지연 발생시 호스트웨이 2012.08.03 14013
31 mysql 로그 삭제하기 호스트웨이 2012.07.20 11488
30 MySQL 원격 접속이 이뤄지지 않는다면? 호스트웨이 2012.07.13 10736
29 Mysql banchmark tool – sysbanch 설치하기 호스트웨이 2012.07.06 11543
28 MySQL 테이블 구조만 백업받아두기 호스트웨이 2012.06.29 26825
27 안전한 MySQL 접속하기 file 호스트웨이 2012.06.22 13055
26 chive – phpMyAdmin 보다 좋은 ! 호스트웨이 2012.05.18 10621