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 MySQL 원격 접속이 이뤄지지 않는다면? 호스트웨이 2012.07.13 10736
44 MySQL Table 상태 확인, 복구 및 최적화 호스트웨이 2015.09.11 10892
43 Mysql DB 생성 및 사용자 추가 호스트웨이 2012.03.23 11144
42 [mysql] /tmp/mysql.sock이 없다고 DB접속이 안되는 경우 호스트웨이 2015.09.21 11170
41 MySQL 설치 시 checking "LinuxThreads"… "Not found" 에러 발생 시 호스트웨이 2012.09.21 11309
40 mysql 로그 삭제하기 호스트웨이 2012.07.20 11496
39 Mysql banchmark tool – sysbanch 설치하기 호스트웨이 2012.07.06 11543
38 MYSQL의 "too many connections" 에러 해결법 호스트웨이 2015.09.10 11791
37 MySQL Bash 스크립트를 활용한 로컬 백업 호스트웨이 2016.02.04 12401
36 안전한 MySQL 접속하기 file 호스트웨이 2012.06.22 13055
35 MariaDB, MySQL 의 InnoDB 엔진 백업 솔루션 xtrabackup 호스트웨이 2015.05.07 13867
34 Mysql - 원격 접속 지연 발생시 호스트웨이 2012.08.03 14013
33 심볼릭 링크를 이용한 mysql 데이터 디렉토리 위치 변경 호스트웨이 2012.03.23 14313
32 MySQL-5.5 설치하기 호스트웨이 2012.04.27 15711
31 Ubuntu mysql 삭제/재설치 호스트웨이 2015.09.04 16828
30 DB접속시 DNS 관련 오류 호스트웨이 2015.09.25 18262
29 MySQL Table 이 깨졌을 때 복구하는 방법 호스트웨이 2012.03.16 18662
28 mysql의 table이 깨졌다는 메시지가 출력됩니다. sylee 2008.05.15 18875
27 show processlist의 state 종류 호스트웨이 2012.05.11 19249
26 My SQL 사용자 추가 호스트웨이 2008.05.19 19265