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 수 

 

번호 제목 글쓴이 날짜 조회 수
25 [MySQL] 무한정 늘어나는 log-bin 파일 줄이기 호스트웨이 2012.11.23 7057
24 phpmyadmin에서 'mcrypt 확장모듈을 불러올 수 없습니다' 에러 시 file 호스트웨이 2012.11.29 6659
23 mysql-5.5.x 에서 character-set 변경 호스트웨이 2012.12.07 7200
22 MySQL에서 Query Cache 사용하기 호스트웨이 2012.12.20 7088
21 innodb 설치 및 옵션 호스트웨이 2014.04.14 23373
20 MariaDB, MySQL 의 InnoDB 엔진 백업 솔루션 xtrabackup 호스트웨이 2015.05.07 13867
19 Ubuntu mysql 삭제/재설치 호스트웨이 2015.09.04 16828
18 MySQL Processlist 콘솔 상에서 확인 호스트웨이 2015.09.07 6060
17 MySQL 보안을 위한 전용관리계정으로 MySQL 관리하기 호스트웨이 2015.09.08 8956
16 MYSQL-날짜 관련 함수 모음 호스트웨이 2015.09.09 40680
15 mysql replication을 이용한 DB 백업 동기화 에러 발생시 (slave db 1062 error) 호스트웨이 2015.09.09 8981
14 MYSQL의 "too many connections" 에러 해결법 호스트웨이 2015.09.10 11792
13 MySQL Table 상태 확인, 복구 및 최적화 호스트웨이 2015.09.11 10900
12 지정된 시간 이상 질의를 계속 하는 질의문 잡아내기 호스트웨이 2015.09.15 6042
11 MYSQL 동시접속자수 늘리기 호스트웨이 2015.09.18 7319
10 MySQL DB 옵티마이저 사용법 호스트웨이 2015.09.18 6858
9 [mysql] shell 자동화 호스트웨이 2015.09.20 6329
8 [mysql] table 백업 호스트웨이 2015.09.21 7801
7 [mysql] /tmp/mysql.sock이 없다고 DB접속이 안되는 경우 호스트웨이 2015.09.21 11173
6 [mysql] sqli, pdo 설정 확인 호스트웨이 2015.09.22 6597