Статистика и виды ожиданий. День № 4

Статистика и виды ожиданий. День № 4Ранее мы разобрали DMV sys.dm_os_wait_stats и посмотрели как оно может быть полезно чтобы определить узкие места. Однако данная статистика охватывает весь сервер с момента рестарта или принудительного сброса статистики. Достаточно часто мы хотим знать о процессах, происходящих в данный момент на сервере.

Что если мы хотим знать какие запросы запущены в данный момент или были запущены недавно и их планы всё ещё в кэше. Вот небольшой запрос, который позволит это увидеть:

SELECT dm_ws.wait_duration_ms,
dm_ws.wait_type,
dm_es.status,
dm_t.TEXT,
dm_qp.query_plan,
dm_ws.session_ID,
dm_es.cpu_time,
dm_es.memory_usage,
dm_es.logical_reads,
dm_es.total_elapsed_time,
dm_es.program_name,
DB_NAME(dm_r.database_id) DatabaseName,
— Optional columns
dm_ws.blocking_session_id,
dm_r.wait_resource,
dm_es.login_name,
dm_r.command,
dm_r.last_wait_type
FROM sys.dm_os_waiting_tasks dm_ws
INNER JOIN sys.dm_exec_requests dm_r ON dm_ws.session_id = dm_r.session_id
INNER JOIN sys.dm_exec_sessions dm_es ON dm_es.session_id = dm_r.session_id
CROSS APPLY sys.dm_exec_sql_text (dm_r.sql_handle) dm_t
CROSS APPLY sys.dm_exec_query_plan (dm_r.plan_handle) dm_qp
WHERE dm_es.is_user_process = 1
GO

Вы можете поменять CROSS APPLY на OUTER APPLY, если хотите увидеть все подробности, которые опущены из-за кэша плана.
Давайте проанализируем результат вышеупомянутого запроса и посмотрим как он нам может помочь определить запрос и тип ожидания, которое он создаёт.

Вот описание основных столбцов, которые возвратил запрос.

wait_duration_ms – текущее время ожидания запроса в мс, который выполняется в данный момент.

wait_type – тип ожидания

text – текст запроса

query_plan – если щёлкнуть на него, то вы увидите план запроса

И ещё много дополнительной информации. Например CPU_time, memory_usage, and logical_reads.

В будущем мы посмотрим как можно избавиться от разного типа ожиданий.

SCwL4tctbaU

Читайте все посты этой серии

Автор: Pinal Dave

***   ***   ***   ***   ***   ***   ***   ***   ***   ***   ***   ***
Полезные Скрипты

Рубрика Проверь себя

Ссылка на наш канал YouTube

Запись опубликована в рубрике Cтатистика и виды ожиданий (Wait Stats and Wait Types) с метками . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Войти с помощью: