데이터베이스 개발자 Tip & 강좌

SQLER의 개발자들이 만들어가는 데이터베이스 사용자 Tip & 강좌 게시판입니다. SQL서버, Oracle, MySQL 등 여러 클라우드/오픈소스 기반 데이터베이스 개발 및 운영 관련 팁과 쿼리 노하우를 이곳에서 가장 먼저 접하실 수 있습니다. 많은 도움 되시길 바랍니다.

성능분석 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
1950 성능분석 16탄 – 메모리 / CPU 관련 성능 카운터 jevida(강성욱) 2016.10.15 5069
1949 성능분석 15탄 – I/O 관련 성능 카운터 jevida(강성욱) 2016.10.15 4002
1948 성능분석 14탄 – SQL Server 사용 성능 카운터 jevida(강성욱) 2016.10.15 3953
1947 성능분석 13탄 – 누락된 인덱스(missing index) jevida(강성욱) 2016.10.15 2343
1946 성능분석 12탄 – 문제 쿼리 식별 jevida(강성욱) 2016.10.15 2122
1945 성능분석 11탄 – 실행 계획 분석 jevida(강성욱) 2016.10.15 4146
1944 성능분석 10탄 – 쿼리 실행 대기 시간 분석(xevent) jevida(강성욱) 2016.10.15 1909
1943 성능분석 9탄 – 쿼리 실행 분석 jevida(강성욱) 2016.10.15 3870
» 성능분석 8탄 – IO 통계 (DISK 활동 분석) jevida(강성욱) 2016.10.15 1461
1941 성능분석 7탄 – 프로파일러 대기 유형 및 PREEMPTIVE_OS_WRITEFILEGATHER jevida(강성욱) 2016.10.15 1590
1940 성능분석 6탄 – CPU 경합 및 동시성 관련 대기 유형 jevida(강성욱) 2016.10.15 1882
1939 성능분석 5탄 – 메모리 및 네트워크 관련 대기 유형 jevida(강성욱) 2016.10.15 1928
1938 성능분석 4탄 – 디스크 및 IO 관련 대기 유형 jevida(강성욱) 2016.10.15 2066
1937 성능분석 3탄 – 집계 대기 통계 jevida(강성욱) 2016.10.15 1916
1936 성능분석 2탄 – 실행 요청을 기다리는 작업 확인 및 분석 (병렬 처리 대기 확인) jevida(강성욱) 2016.10.15 1352
1935 성능분석 1탄 – 실행 요청을 기다리는 작업 확인 및 분석 jevida(강성욱) 2016.10.15 1980
1934 확장이벤트를 사용하여 데드락 정보 확인 jevida(강성욱) 2016.10.15 1549
1933 확장 이벤트를 사용한 CPU 고부하 쿼리 추적 [1] jevida(강성욱) 2016.10.15 2115
1932 데이터에 대한 이해와 spill in tempdb jevida(강성욱) 2016.10.13 1761
1931 로그 파일이 많으면 왜 안 좋은가 jevida(강성욱) 2016.10.13 2051





XE Login