본문 바로가기

공부/MySQL

Slow Query Log 설정 방법

* 예전에 써놨던 글인데 어딘가에 저장되어 있길래 다시 블로그로 옮겨 적는다. 그간 MySQL의 버전이 많이 올랐기에 조금 다들 부분들이 있을 수 있지만 그래도 아까우니까..

Slow query log

Slow query log는 쿼리가 실행될 때 설정된 시간 이상 소요될 경우 로그 파일에 로그를 남긴다. 기본 설정은 off 되어 있어 사용하고자 할 경우에는 설정이 필요하다.

아래는 my.cnf 파일에 설정하는 방법이다.

 

[mysqld]
slow-query-log = 1
long_query_time = 10

 

아래는 session 상에서 설정하는 방법이다.

 

SET GLOBAL slow_query_log = 1;
SET GLOBAL long_query_time = 10;

 

Slow query log를 확인할 경우 직접 로그파일을 열어봐도 되지만 항목별로 정렬해서 보여주는 툴이 기본적으로 제공된다.

MySQL이 설치된 경로의 bin 디렉토리에 보면 mysqldumpslow라는 명령이 있다. 아래와 같은 옵션을 통해 원하는 정보를 기준으로 정렬하여 로그를 확인할 수 있다.

 

shell> mysqldumpslow -s ORDER 파일명
  -s ORDER     what to sort by (al, at, ar, c, l, r, t), 'at' is default
                al: average lock time
                ar: average rows sent
                at: average query time
                 c: count
                 l: lock time
                 r: rows sent
                 t: query time

 

 

반응형