반응형
반응형

실행 중인 스레드로 인해 발생한 대기에 대한 정보를 확인하려면 sys.dm_os_wait_stats 동적 관리 뷰를 사용합니다. 뷰는 SQL Server 관련된 성능 문제뿐 아니라 특정 쿼리 일괄 처리와 관련된 성능 문제의 진단에도 도움이 됩니다. 대기 유형별 대기 시간을 확인하여, 가장 대기가 많은 유형을 확인하고, 작업 부하에 따른 대기 유형의 변화도 확인합니다.

 

시스템의 대기 정보 확인하기

SELECT * FROM sys.dm_os_wait_stats

ORDER BY wait_time_ms DESC;

GO

 

 래치 대기 정보 확인하기

SELECT * FROM sys.dm_os_latch_stats;

GO

 

대기 통계, 래치 대기 통계 재설정하기

DBCC SQLPERF('sys.dm_os_wait_stats', CLEAR);

GO

DBCC SQLPERF('sys.dm_os_latch_stats', CLEAR);

GO

 

I/O 대기 확인하기

SELECT database_id

                           , file_id

                           , io_stall,io_pending_ms_ticks

                           , scheduler_address

FROM sys.dm_io_virtual_file_stats (NULL, NULL) AS t1,

     sys.dm_io_pending_io_requests AS t2

WHERE t1.file_handle = t2.io_handle;

GO

 

SELECT * FROM sys.dm_io_virtual_file_stats (NULL, NULL);

GO

SELECT * FROM sys.dm_io_pending_io_requests;

GO

 

I/O 할당 대기 확인하기

-- Tempdb (DBID=2)

SELECT session_id, wait_duration_ms, resource_description

FROM sys.dm_os_waiting_tasks

WHERE wait_type LIKE 'PAGE%LATCH_%'

AND resource_description LIKE '2:%';

GO

 

-- 사용자 DB (다음에서 dbid 부분을 db_id() 값을 입력하여 실행하면 )

SELECT session_id, wait_duration_ms, resource_description

FROM sys.dm_os_waiting_tasks

WHERE wait_type LIKE 'PAGE%LATCH_%'

AND resource_description LIKE '5:%';

GO

 

반응형

+ Recent posts

반응형