헤

Slow Query ( Mysql 부하 체크시 사용 )

 
대량의 데이터를 조회하거나
 
잘못된 인덱스 사용으로 인해 장시간 Mysql 프로세스가 물리는 현상이 발생 할 경우
 
어떤 쿼리문이 이런 현상을 야기 시켰느냐에 대한 분석 시
 
Slow Query 를 사용하시면 손 쉽게 부하가 증가되는 쿼리를 찾으실 수 있으실 것입니다.
 
<사용 방법>
1. mysql 환경 설정 파일인 my.cnf 파일에 아래 내용을 추가 하시면 됩니다.
 
[mysqld]
long_query_time=초제한(1~10)
log-slow-queries=로그파일명
 
ex)
[mysqld]
log-slow-queries = /temp/mysql-slow.log
long_query_time = 3
위의 의미는 쿼리타임이 3초를 초과하는 쿼리에 대해 /temp/mysql-slow.log 파일에 로그를 남기라는 의미 입니다.
 
2. mysql 구동시 적용하는 방법이 있습니다.
$ mysqld_safe --datadir=데이터디렉토리 --log-slow-queries[=file_name] &
 
< 로그 파일의 내용 >
# Time: 080218 13:25:06
# User@Host: XXXXX[xxxxx] @ localhost [127.0.0.1]
# Query_time: 8  Lock_time: 0  Rows_sent: 1  Rows_examined: 98767
use CrediMail;
SELECT count(*) FROM test
 
위의 양식으로 slow 쿼리가 남게 됩니다.
slow log 로 남은 쿼리들은 explain 을 사용하여 정상적인 index를 타고 있는지 체크 해 보는 방법으로
문제점을 찾아 가시면 될 것입니다.
ex) mysql>explain 문제시 되는 쿼리;
 
<참고>
Query_time : 쿼리 처리 시간
Lock_time : lock 이 걸린 횟수
Row_sent : 조회 결과 Row 수
Rows_examined : 조회 대상 Row 수
 
Reference URL
|

댓글 1개

어디서 부하가 많이 걸리는지 알기에는 좋을것 같네요..
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
16-03-02 조회 3,218
16-01-19 조회 2,500
15-12-23 조회 2,814
15-12-08 조회 3,620
14-10-30 조회 5,669
14-06-06 조회 5,506
12-08-30 조회 3,857
12-08-20 조회 3,780
12-07-15 조회 5,109
12-07-13 조회 3,586
12-07-06 조회 3,796
12-06-27 조회 3,328
12-06-23 조회 3,524
12-05-03 조회 5,145
12-04-20 조회 4,093
12-03-29 조회 4,584
12-03-22 조회 4,665
12-03-22 조회 3,471
12-03-21 조회 3,250
12-03-11 조회 3,682
12-03-06 조회 4,221
12-02-22 조회 4,499
12-02-17 조회 3,300
12-02-17 조회 6,144
12-02-14 조회 6,068
12-02-06 조회 4,220
12-01-18 조회 3,183
12-01-06 조회 3,407
11-12-30 조회 3,874
11-12-30 조회 7,020
11-12-21 조회 3,232
11-12-21 조회 4,205
11-12-16 조회 3,241
11-12-15 조회 3,284
11-12-15 조회 3,386
11-12-15 조회 4,180
11-12-09 조회 3,202
11-12-09 조회 3,276
11-12-07 조회 2,842
11-12-07 조회 3,931
11-12-05 조회 4,382
11-12-02 조회 3,822
11-12-01 조회 2,688
11-12-01 조회 2,734
11-12-01 조회 2,717