"슬로우쿼리"의 두 판 사이의 차이
잔글 |
잔글 (→my.sql 파일 확인) |
||
36번째 줄: | 36번째 줄: | ||
==== my.sql 파일 확인 ==== | ==== my.sql 파일 확인 ==== | ||
− | mysql 내에서 서비스 재시작을 | + | mysql 내에서 서비스 재시작을 하지 않고 적용이 가능하다.<ref name="순차리스트" /> |
:{| cellpadding="10" cellspacing="1" border="1"" | :{| cellpadding="10" cellspacing="1" border="1"" | ||
54번째 줄: | 54번째 줄: | ||
|width ="450px"| '''*''' index를 사용하지 않는 쿼리 기록 여부 | |width ="450px"| '''*''' index를 사용하지 않는 쿼리 기록 여부 | ||
|width ="450px"| '''*''' mysql> set global log_queries_not_using_indexes = on; | |width ="450px"| '''*''' mysql> set global log_queries_not_using_indexes = on; | ||
− | |} | + | |} |
==== 슬로우 쿼리 용어 ==== | ==== 슬로우 쿼리 용어 ==== |
2020년 8월 13일 (목) 22:52 기준 최신판
슬로우쿼리(Slow Query)란 DBMS 가 요청자로부터 요청받은 쿼리를 수행할때 일정 시간 이상 수행되지 못한 쿼리이다.[1]
개요[편집]
슬로우 쿼리가 많으면 성능저하가 발생하며 mysql 프로세스가 cpu 점유를 많이 하거나 db접속이 원활하지 않으면 분석이 가능하다.
특징[편집]
슬로우 쿼리를 이용하여 원인 분석에 도움이 될 수도 있다. log 를 쌓이게 하기 위해 mysql 실행시에 다음 옵션을 함께 추가하거나, my.cnf 파일을 직접 수정하여 mysql 를 실행할 수도 있다. [2]
슬로우쿼리 설정[편집]
vi /etc/my.cnf log-slow-queries = /var/log/mysql/mysql-slow.log => 슬로우 쿼리 위치 slow_query_log = 1 => 1은 슬로우 쿼리를 사용하겠다는 뜻 long_query_time = 10 => 10초 이상 걸리는 쿼리를 슬로우쿼리 로그에 찍히게 한다.
my.cnf 파일 확인[편집]
my.cnf로 수정할 경우 mysql 서비스 재시작을 해야한다. [1]
항목 my.cnf 추가내용 * 해당 값 이상의 로그 기록 * long_query_time = 3 * 슬로우쿼리 활성 여부 (0 = 비활성 / 1 = 활성) * slow_query_log = 1 * 슬로우쿼리 로그파일 경로 * slow_query_log_file = /var/log/mysql/slow_queries.log * index를 사용하지 않는 쿼리 기록 여부 * log_queries_not_using_indexes = on
my.sql 파일 확인[편집]
mysql 내에서 서비스 재시작을 하지 않고 적용이 가능하다.[1]
항목 my.cnf 추가내용 * 해당 값 이상의 로그 기록 * mysql> set global long_query_time = 3; * 슬로우쿼리 활성 여부 (0 = 비활성 / 1 = 활성) * mysql> set global slow_query_log = 1; * 슬로우쿼리 로그파일 경로 * mysql> set global slow_query_log_file="/var/log/mysql/slow_queries.log * index를 사용하지 않는 쿼리 기록 여부 * mysql> set global log_queries_not_using_indexes = on;
슬로우 쿼리 용어[편집]
Time = 쿼리 요청 시각 Query_time : 쿼리 수행 시간 Lock_time : 락이 걸린 시간 Rows_sent = 쿼리 결과 row수 Rows_examined = 쿼리대상 row수
각주[편집]
참고자료[편집]
같이 보기[편집]