SlideShare a Scribd company logo
MY SQL Disk IO 모니터링 및 분석사례
2016.08.20
1
2
Index
 분석 사례
 Disk I/O 모니터링 방법
 Q & A
3
Slow query 발생
분석 사례
5
분석 사례
갑작스런
CPU 증가
과도한
READ I/O
Dstat -cmdnls
6
Nmon 수집 분석
분석 사례
7
Memory CACHED, MEMORY FREE
Cached와 FREE 영역이
서로 역 512MB 정도 교환
CACHED는 파일을 캐쉬하는 영역
512MB의 파일은 binlog file 유일
Binlog 파일 생성 시간과 메모리 영역 교환
시기가 일치
분석 사례
8
분석 사례
lsof 명령 사용하여 모니터링
(lsof | grep BINLOG)
현재 사용하는 binlog
문제의 read I/O의 binlog
/BINLOG/mysql_000690
/BINLOG/mysql_000691
/BINLOG/mysql_000692
/BINLOG/mysql_000693
/BINLOG/mysql_000694
/BINLOG/mysql_000695
/BINLOG/mysql_000696
/BINLOG/mysql_000691
/BINLOG/mysql_000692
/BINLOG/mysql_000693
/BINLOG/mysql_000694
/BINLOG/mysql_000695
/BINLOG/mysql_000696
/BINLOG/mysql_000697
삭제가 예정된
파일
새로 만들어진
파일
9
분석 사례
10
https://bugs.mysql.com/bug.php?id=80889
분석 사례
Binary logs READ I/O bug
5.6.xx : 버그 없음
5.7.xx : 계속 발생하는 버그
5.7.14 : 수정될 예정
PURGE BINARY LOGS TO ‘BINLOG FILE NAME’ 으로 재현 가능
GTID 모드 사용시 발생하지 않는것 확인
11
Index
 분석 사례
 Disk I/O 모니터링 방법
 Q & A
12
Disk I/O 모니터링 방법
갑작스런
CPU 증가
과도한
READ I/O
Dstat -cmdnls
문제는 과도한 READ I/O
13
Disk I/O 모니터링 방법
14
Disk I/O 모니터링 방법
pidstat -p 10822 -d -t
15
Disk I/O 모니터링 방법
strace
프로세스가 OS의 라이브러리를 이용하여 disk에 읽은 함수와 파라메터를 수집할 수 있습니다.
참고
http://blueyikim.tistory.com/168
16
참고
http://www.slideshare.net/brendangregg/linux-systems-performance-2016
Disk I/O 모니터링 방법
17
Disk I/O 모니터링 방법
strace -p10822 -vv -o strace_11071.log
FD NO 읽은 내용 내용의 사이즈
18
Disk I/O 모니터링 방법
lsof -p 10822 (OPEN FILE FD LIST)
19
Disk I/O 모니터링 방법
참고
http://www.slideshare.net/fullscreen/brendangregg/linux-systems-performance-2016/7
사용할 수 있는 툴은 대단히 많다.
가장 적합한 것을 찾아 사용하자
20
Disk I/O 모니터링 방법
스크립트 실행 결과
21
Disk I/O 모니터링 방법
스크립트 생성
스크립트 내용은 위 모니터링 방법을 자동화
22
Disk I/O 모니터링 방법
45

More Related Content

1.mysql disk io 모니터링 및 분석사례