SQL Server/SQL Server Tip

성능분석 4탄 – 디스크 및 IO 관련 대기 유형

SungWookKang 2015. 7. 23. 09:51
반응형

성능분석 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

 

반응형