성능분석 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 SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 3057
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 1940
1954 FileStream Garbage Collection jevida(강성욱) 2016.10.18 3479
1953 프로시저 캐시에서 중복 쿼리 계획 확인 jevida(강성욱) 2016.10.18 3722
1952 Sp_reset_connection jevida(강성욱) 2016.10.18 3707
1951 성능분석 17탄 – SQLServer 블록킹 / 네트워크 관련 성능 카운터 jevida(강성욱) 2016.10.15 3780
1950 성능분석 16탄 – 메모리 / CPU 관련 성능 카운터 jevida(강성욱) 2016.10.15 5963
1949 성능분석 15탄 – I/O 관련 성능 카운터 jevida(강성욱) 2016.10.15 4074
1948 성능분석 14탄 – SQL Server 사용 성능 카운터 jevida(강성욱) 2016.10.15 4044
1947 성능분석 13탄 – 누락된 인덱스(missing index) jevida(강성욱) 2016.10.15 2437
1946 성능분석 12탄 – 문제 쿼리 식별 jevida(강성욱) 2016.10.15 2255
1945 성능분석 11탄 – 실행 계획 분석 jevida(강성욱) 2016.10.15 4262
1944 성능분석 10탄 – 쿼리 실행 대기 시간 분석(xevent) jevida(강성욱) 2016.10.15 1983
1943 성능분석 9탄 – 쿼리 실행 분석 jevida(강성욱) 2016.10.15 4191
» 성능분석 8탄 – IO 통계 (DISK 활동 분석) jevida(강성욱) 2016.10.15 1504
1941 성능분석 7탄 – 프로파일러 대기 유형 및 PREEMPTIVE_OS_WRITEFILEGATHER jevida(강성욱) 2016.10.15 1730
1940 성능분석 6탄 – CPU 경합 및 동시성 관련 대기 유형 jevida(강성욱) 2016.10.15 1947
1939 성능분석 5탄 – 메모리 및 네트워크 관련 대기 유형 jevida(강성욱) 2016.10.15 2123
1938 성능분석 4탄 – 디스크 및 IO 관련 대기 유형 jevida(강성욱) 2016.10.15 2297
1937 성능분석 3탄 – 집계 대기 통계 jevida(강성욱) 2016.10.15 1972
1936 성능분석 2탄 – 실행 요청을 기다리는 작업 확인 및 분석 (병렬 처리 대기 확인) jevida(강성욱) 2016.10.15 1417
1935 성능분석 1탄 – 실행 요청을 기다리는 작업 확인 및 분석 jevida(강성욱) 2016.10.15 2081





XE Login