성능분석 4탄 – 디스크 및 IO 관련 대기 유형
- Version : SQL Server 2005, 2008, 2008R2, 2012
SQL Server에서 발생하는 대기 유형 중 DISK 및 I/O 관련 대기 유형에 대해서 살펴 본다.
PAGEIOLATCH_*
전형적인 I/O 대기로 디스크에서 데이터를 읽고 쓰기 위한 대기이다. 데이터가 디스크에서 메모리로 캐시 (버퍼풀) 될 때까지 차단 작업이 발생 하면서 대기가 발생 한다. 대기 유형중 PAGELATCH_* 와 혼동하지 않도록 한다.
대기유형 | 설명 |
PAGEIOLATCH_DT | 태스크가 I/O 요청에 있는 버퍼를 래치에서 기다리는 경우에 발생한다. 래치 요청이 삭제 모드에 있다. 대기 수가 많으면 디스크 하위 시스템에 문제가 있을 수 있다. |
PAGEIOLATCH_EX | 태스크가 I/O 요청에 있는 버퍼를 래치에서 기다리는 경우에 발생한다. 래치 요청이 배타 모드에 있습니다. 대기 수가 많으면 디스크 하위 시스템에 문제가 있을 수 있다. |
PAGEIOLATCH_KP | 태스크가 I/O 요청에 있는 버퍼를 래치에서 기다리는 경우에 발생한다. 래치 요청이 유지 모드에 있다. 대기 수가 많으면 디스크 하위 시스템에 문제가 있을 수 있다. |
PAGEIOLATCH_NL | 정보를 제공하기 위해서만 확인된다. 지원되지 않는다. 향후 호환성은 보장되지 않는다. |
PAGEIOLATCH_SH | 태스크가 I/O 요청에 있는 버퍼를 래치에서 기다리는 경우에 발생한다. 래치 요청이 공유 모드에 있다. 대기 수가 많으면 디스크 하위 시스템에 문제가 있을 수 있다. |
PAGEIOLATCH_UP | 태스크가 I/O 요청에 있는 버퍼를 래치에서 기다리는 경우에 발생한다. 래치 요청이 업데이트 모드에 있습니다. 대기 수가 많으면 디스크 하위 시스템에 문제가 있을 수 있다. |
WRITELOG
COMMMIT 작업이 발생할 때 생기는 대기 유형이다. 디스크에 로그 레코드 기록이 완료 될 때까지 대기하는 동안 발생 한다. 로그 플러시를 발생시키는 일반적인 작업은 검사점(CHECKPOINT)와 트랜잭션 커밋이다.
IO_COMPLETION
이 대기 유형은 일반적으로 비데이터 페이지 I/O를 나타낸다(TEMPDB 정렬 파일 읽기 및 쓰기, DLL로드, 특정한 DBCC 데이터 읽기 등). 데이터 페이지 I/O 완료 대기는 PAGEIOLATCH_* 대기로 표시 된다.
ASYN_IO_COMPLETION
태스크가 I/O가 완료 될 때까지 대기하는 경우 발생한다. 주로 데이터베이스 백업, 복원, 데이터베이스 파일 작업과 관련이 있다.
대기 시간 분석 중 I/O 디스크 대기 유형이 발견된다면 디스크 활동을 분석하여 튜닝을 진행해야 한다.
[참고자료]
2014-03-12 / 강성욱 / http://sqlmvp.kr
'SQL Server > SQL Server Tip' 카테고리의 다른 글
성능분석 6탄 – CPU 경합 및 동시성 관련 대기 유형 (0) | 2015.07.23 |
---|---|
성능분석 5탄 – 메모리 및 네트워크 관련 대기 유형 (0) | 2015.07.23 |
성능분석 3탄 – 집계 대기 통계 (0) | 2015.07.23 |
성능분석 2탄 – 실행 요청을 기다리는 작업 확인 및 분석 - 병렬 처리 대기 확인 (0) | 2015.07.23 |
성능분석 1탄 – 실행 요청을 기다리는 작업 확인 및 분석 - 다른 세션에 의한 블록킹 확인 (0) | 2015.07.23 |