Сегодня мы обсудим, как можно посмотреть wait stats. Данный скрипт был создан Экспертом в SQL Server Glenn Berry.
Пример:
-- Isolate top waits for server instance since last restart or statistics clear WITH Waits AS (SELECT wait_type, wait_time_ms / 1000. AS wait_time_s, 100. * wait_time_ms / SUM(wait_time_ms) OVER() AS pct, ROW_NUMBER() OVER(ORDER BY wait_time_ms DESC) AS rn FROM sys.dm_os_wait_stats WHERE wait_type NOT IN ('CLR_SEMAPHORE','LAZYWRITER_SLEEP','RESOURCE_QUEUE','SLEEP_TASK' ,'SLEEP_SYSTEMTASK','SQLTRACE_BUFFER_FLUSH','WAITFOR', 'LOGMGR_QUEUE','CHECKPOINT_QUEUE' ,'REQUEST_FOR_DEADLOCK_SEARCH','XE_TIMER_EVENT','BROKER_TO_FLUSH','BROKER_TASK_STOP','CLR_MANUAL_EVENT' ,'CLR_AUTO_EVENT','DISPATCHER_QUEUE_SEMAPHORE', 'FT_IFTS_SCHEDULER_IDLE_WAIT' ,'XE_DISPATCHER_WAIT', 'XE_DISPATCHER_JOIN', 'SQLTRACE_INCREMENTAL_FLUSH_SLEEP')) SELECT W1.wait_type, CAST(W1.wait_time_s AS DECIMAL(12, 2)) AS wait_time_s, CAST(W1.pct AS DECIMAL(12, 2)) AS pct, CAST(SUM(W2.pct) AS DECIMAL(12, 2)) AS running_pct FROM Waits AS W1 INNER JOIN Waits AS W2 ON W2.rn <= W1.rn GROUP BY W1.rn, W1.wait_type, W1.wait_time_s, W1.pct HAVING SUM(W2.pct) - W1.pct < 99 OPTION (RECOMPILE); -- percentage threshold
Этот скрипт использует Dynamic Management View sys.dm_os_wait_stats, чтобы собрать информацию о wait stats. Данная статистика не сможет указать на точное узкое место вашей системы, но она подскажет в какую сторону вам необходимо смотреть. Указание в скрипте OPTION (RECOMPILE) позволяет получать новые данные, которые не будут взять из кэша.
Будьте внимательны, Dynamic Management View sys.dm_os_wait_stats хранит информацию с последнего рестарта SQL Server. Вы так же можете самостоятельно очистить данное представление, используя следующую команду
DBCC SQLPERF('sys.dm_os_wait_stats', CLEAR);
После сбора статистики wait stats, мы можем приступить к исследованию проблемных мест в нашей системе.
Многие статистики связаны друг с другом. Когда использование CPU высоко, все зависящие от CPU ожидания будут выведены в верхней части. Но когда эта проблема будет устранена, все эти ожидания встанут на свои места.
Завтра вас ожидает следующий день из серии «Wait Stats — Wait Types».
Автор: Pinal Dave
*** *** *** *** *** *** *** *** *** *** *** ***
Полезные Скрипты
Рубрика Проверь себя
Ссылка на наш канал YouTube