본문으로 바로가기
728x90
반응형

DB를 사용하다보면 성능에 대한 이슈를 겪을 수 있습니다.

대부분의 성능은 쿼리로 인하여 발생을 하고, 이를 디버깅하기는 쉽지 않습니다.

mysql은 특정 시간안에 처리되지 않는 쿼리를 찾는 기능이 있습니다.

바로 slow query 입니다.

이 기능은 특정 시간(초)을 설정한 후, 이 시간안에 처리되지 못하는 쿼리를 로그 파일에 기록합니다.

리눅스에서 mariadb 서버에 접속한 후 아래의 명령어를 사용하게되면 설정 정보를 확인할 수 있습니다.

MariaDB [(none)]> show variables like 'slow_query_%' 


이 옵션은 따로 설정하지 않는 이상 OFF 되어 있습니다.

아래와 같이 설정을 한 후, mariadb를 재시작하면 적용됩니다.

]# vim /etc/my.cnf

 


slow_query_log=1
->값이 1인 경우 ON 입니다.
long_query_time=1
->이 시간 동안 쿼리 결과가 나오지 않으면, 로그 파일에 쿼리가 기록됩니다. 단위는 초입니다
slow_query_log_file=/var/log/slow-query.log
->쿼리가 기록되는 로그 파일입니다.

MariaDB [(none)]> show variables like 'slow_query_%' 

 


쿼리의 문제를 파악하기 위해서 많은 도움이 됩니다.

728x90
반응형