성능분석 8탄 – IO 통계 (DISK 활동 분석)

 

  • Version : SQL Server 2005, 2008, 2008R2, 2012

 

 

SQL Server는 디스크에서 데이터를 읽고 쓰기 작업을 한다. 모든 쓰기 작업은(insert, update, delete) 반드시 디스크에 기록되어야 한다. 쿼리는 항상 메모리 캐시(buffer pool)에서 데이터를 반환하지만 원하는 데이터가 캐시에 없는 경우 디스크로부터 데이터를 읽어 캐시에 적재 후 반환한다. 이때 IO 병목이 발생하며 성능 조사가 필요하다.

 

SQL Serve는 데이터 및 로그 IO 요청에 대한 모든 정보를 수집하고 집계한다. 다음 DMV를 사용하여 쓰기 및 읽기의 수를 확인한다.

select db_name(io.database_id) as database_name,

    mf.physical_name as file_name,

    io.*

from sys.dm_io_virtual_file_stats(NULL, NULL) io

join sys.master_files mf on mf.database_id = io.database_id

    and mf.file_id = io.file_id

order by (io.num_of_bytes_read + io.num_of_bytes_written) desc;

 

 

io_Stall_* 시간은 디스크에 데이터를 전송하기 위해 대기하는 총 시간을 나타낸다. 전송된 총 바이트의 수(read, write)는 IO 관점에서 데이터베이스가 얼마나 바쁜지 확인 할 수 있는 좋은 지표이다.

 

[참고자료]

http://rusanu.com/2014/02/24/how-to-analyse-sql-server-performance/

 



강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp

No. Subject Author Date Views
Notice 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 451
1946 성능분석 12탄 – 문제 쿼리 식별 jevida(강성욱) 2016.10.15 2224
1945 성능분석 11탄 – 실행 계획 분석 jevida(강성욱) 2016.10.15 4244
1944 성능분석 10탄 – 쿼리 실행 대기 시간 분석(xevent) jevida(강성욱) 2016.10.15 1952
1943 성능분석 9탄 – 쿼리 실행 분석 jevida(강성욱) 2016.10.15 4162
» 성능분석 8탄 – IO 통계 (DISK 활동 분석) jevida(강성욱) 2016.10.15 1492
1941 성능분석 7탄 – 프로파일러 대기 유형 및 PREEMPTIVE_OS_WRITEFILEGATHER jevida(강성욱) 2016.10.15 1669
1940 성능분석 6탄 – CPU 경합 및 동시성 관련 대기 유형 jevida(강성욱) 2016.10.15 1928
1939 성능분석 5탄 – 메모리 및 네트워크 관련 대기 유형 jevida(강성욱) 2016.10.15 2075
1938 성능분석 4탄 – 디스크 및 IO 관련 대기 유형 jevida(강성욱) 2016.10.15 2197
1937 성능분석 3탄 – 집계 대기 통계 jevida(강성욱) 2016.10.15 1963
1936 성능분석 2탄 – 실행 요청을 기다리는 작업 확인 및 분석 (병렬 처리 대기 확인) jevida(강성욱) 2016.10.15 1408
1935 성능분석 1탄 – 실행 요청을 기다리는 작업 확인 및 분석 jevida(강성욱) 2016.10.15 2050
1934 확장이벤트를 사용하여 데드락 정보 확인 jevida(강성욱) 2016.10.15 1595
1933 확장 이벤트를 사용한 CPU 고부하 쿼리 추적 [1] jevida(강성욱) 2016.10.15 2171
1932 데이터에 대한 이해와 spill in tempdb jevida(강성욱) 2016.10.13 1793
1931 로그 파일이 많으면 왜 안 좋은가 jevida(강성욱) 2016.10.13 2096
1930 트랜잭션 백업 실패와 전체 백업 성공 그리고 대처 방안 jevida(강성욱) 2016.10.13 1580
1929 Fast recovery 와 로그 잠금 jevida(강성욱) 2016.10.13 2049
1928 고스트 클린업 jevida(강성욱) 2016.10.13 2295
1927 페이지 분할이 발생 하였을 때 롤백을 하면 어떻게 될까? jevida(강성욱) 2016.10.13 1677





XE Login