Database

모든 데이터베이스의 I/O 확인 (I/O로 인한 성능 저하가 의심되는 경우)

커널64 2008. 11. 19. 13:55

select DB_NAME(a.database_id) as DBName,
a.File_ID,
b.name,
a.IO_Stall,
a.Num_Of_Reads, a.Num_Of_Writes,
a.Num_Of_Bytes_Read, a.Num_Of_Bytes_Written
from sys.dm_io_virtual_file_stats(null, null) a
inner join sys.master_files b on a.database_id = b.database_id and a.file_id = b.file_id

결과에서 io_stall 값이 매우 높다면 I/O로 인한 성능 문제가 있을 수 있음

열 이름  데이터 형식  설명 
database_id smallint 데이터베이스 ID
file_id smallint 파일 ID
sample_ms int SQL Server 인스턴스를 시작한 이후 경과한 시간(밀리초)
num_of_reads bigint 파일에 대해 읽기가 실행된 횟수
num_of_bytes_read bigint 파일에 대해 실행된 읽기의 총 바이트 수
io_stall_read_ms bigint 사용자가 파일에 대한 읽기가 실행될 때까지 대기한 총 시간(밀리초)
num_of_writes bigint 파일에 대해 쓰기가 실행된 횟수
num_of_bytes_written bigint 파일에 대해 실행된 쓰기의 총 바이트 수
io_stall_write_ms bigint 사용자가 파일에 대한 쓰기가 완료될 때까지 대기한 총 시간(밀리초)
io_stall bigint 사용자가 파일에 대한 I/O가 완료될 때까지 대기한 총 시간(밀리초)
size_on_disk_bytes bigint 이 파일에 대해 디스크에서 사용된 바이트 수
file_handle varbinary 이 파일에 대한 Windows 파일 핸들