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

Статистика и виды ожиданий. День № 5Ранее мы рассмотрели важные моменты статистики ожиданий подробно. Однако время от времени есть необходимость собирать эти данные и просматривать позже. Иногда эксперты делают изменения на сервере и им необходимо сравнить ожидания до и после этих изменений. Я использую следующий код для решения это задачи.

-- Создаём таблицу
CREATE TABLE [MyWaitStatTable](
[wait_type] [nvarchar](60) NOT NULL,
[waiting_tasks_count] [bigint] NOT NULL,
[wait_time_ms] [bigint] NOT NULL,
[max_wait_time_ms] [bigint] NOT NULL,
[signal_wait_time_ms] [bigint] NOT NULL,
[CurrentDateTime] DATETIME NOT NULL,
[Flag] INT
)
GO
-- Наполняем таблицу до изменений
INSERT INTO MyWaitStatTable
([wait_type],[waiting_tasks_count],[wait_time_ms],[max_wait_time_ms],[signal_wait_time_ms],
[CurrentDateTime],[Flag])
SELECT [wait_type],[waiting_tasks_count],[wait_time_ms],[max_wait_time_ms],[signal_wait_time_ms],
GETDATE(), 1
FROM sys.dm_os_wait_stats
GO
-- Выполняем изменения и ожидаем, например, 1 час
WAITFOR DELAY '01:00:00'

— Наполняем таблицу после изменений и ожидания 1 час
INSERT INTO MyWaitStatTable
([wait_type],[waiting_tasks_count],[wait_time_ms],[max_wait_time_ms],[signal_wait_time_ms],
[CurrentDateTime],[Flag])
SELECT [wait_type],[waiting_tasks_count],[wait_time_ms],[max_wait_time_ms],[signal_wait_time_ms],
GETDATE(), 2
FROM sys.dm_os_wait_stats
GO

-- Проверяем разницу до и после изменений
SELECT T1.wait_type, T1.wait_time_ms Original_WaitTime,
T2.wait_time_ms LaterWaitTime,
(T2.wait_time_ms - T1.wait_time_ms) DiffenceWaitTime
FROM MyWaitStatTable T1
INNER JOIN MyWaitStatTable T2 ON T1.wait_type = T2.wait_type
WHERE T2.wait_time_ms > T1.wait_time_ms
AND T1.Flag = 1 AND T2.Flag = 2
ORDER BY DiffenceWaitTime DESC
GO
-- Очищаем таблицу
DROP TABLE MyWaitStatTable
GO

Если вы заметили, я использовал дополнительный столбец flag. Я добавил его для того, чтобы различать разные временные интервалы сбора статистики ожиданий. Часто я собираю статистику по 5-6 раз и я считаю это очень удобным методом для нахождения различий в статистики ожиданий.

Завтра мы поговорим о конкретных видах ожиданий.

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

Автор: Pinal Dave

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

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

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

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

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

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