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
반응형
'Database > Mysql' 카테고리의 다른 글
[Mysql] ERROR 2006 (HY000): MySQL server has gone away 에러 (2) | 2023.12.05 |
---|---|
[Mysql] MariaDB 테이블의 PRIMARY KEY 값 추가/삭제/변경 (0) | 2023.11.01 |
[Mysql] mysql dump로 백업/복구 하기 (0) | 2020.11.10 |
[Mysql] UNION과 UNION ALL의 차이 (0) | 2020.08.28 |
[Mysql] log-bin 파일 관리 (0) | 2020.07.28 |