MySQL 설정파일 Slow Query 설정
slow query log 확인하기
mysql> show variables like 'slow_query_%';
서버밖에서 설정하기
MySQL my.cnf 설정
vi /etc/my.cnf
========================================================================
[mysqld]
#slow_query_setting
slow_query_log=1 //////1=on 0=off
log_slow_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 3
슬로우 쿼리가 3초가 초과하는 쿼리에 대한 로그를 남기는 설정입니다.
log_slow_querise : 저장될 로그경로
long_query_time : 쿼리타임이 지정한 시간을 초과하는 부분만 저장
MySQL 재시작
/etc/init.d/mysqld restart
cd /var/log
mkdir mysql
chown mysql:mysql /var/log/mysql
mysql -u root -p
후
select sleep(5);
MySQL Slow Query 분석
show variables like 'long_query_%';
========================================================================
서버안에서 slow_query설정하기
mysql -u root -p
해당 값(초) 이상의 로그 기록
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;
cat /var/logl/mysql/slow_query.log
========================================================================
Slow Query(슬로우 쿼리) 로그파일
User@Host: DB_유저[DB_유저] @ server_hostname [서버IP]
Query_time: 0.000599 Lock_time: 0.000163 Rows_sent: 3 Rows_examined: 86
SET timestamp=1489118717;
select count(*)
Query_time : 쿼리 처리시간V
Lock_time : lock이 걸린 횟수
Row_sent : 조회 결과 Row 수
Rows_examined : 조회 대상 ROW 수
MySQL 쿼리 응답시간 체크
mysqladmin -i5 status -u root -p
Enter password:
Uptime: 10578 Threads: 1 Questions: 4809 Slow queries: 589 Opens: 1321 Flush tables: 1 Open tables: 348 Queries per second avg: 0.454
Uptime : MySQL server 시삭된 후 현재 시간 (초 단위)
Threads : 현제 DB 서버에 연결된 유저수
Questions : 서버 시작후 지금까지 요청된 쿼리수
Slow queries : mysql 설정파일에 슬로우쿼리의 쿼리시간 이상을 가진 요청수
Opens : 서버가 시작된 후 현재까지 열렸던 테이블수
Open tables : 현재 열려 잇는 테이블 수
Queries per second avg : 평균 초단 쿼리수
========================================================================
MySQL 5.1.34 이상 버전
slow_query_log = 10
slow_query_log_file = /usr/local/mysql/data/mysql-slow-query.log
MySQL 4.x 이상 버전
long_query_time = 10
log-slow-queries = /usr/local/mysql/data/mysql-slow-query.log
MySQL 3.x 이하 버전
set-variable = long_query_time = 10
log-slow-queries = /usr/local/mysql/data/mysql-slow-query.log
'DB > DB 공통 관리' 카테고리의 다른 글
사이트 접속했을때 Too many connection가 나올때 (0) | 2023.03.12 |
---|---|
MySQL, MariaDB 비밀번호 변경 및 유저 생성 (0) | 2023.03.12 |
my.cnf 설정파일 정리 (0) | 2023.03.12 |
bin log 개념 및 설정 (0) | 2023.03.12 |
DB 용어 (0) | 2023.03.12 |
댓글