Правильный способ сбора статистики ожиданий (sys.dm_os_wait_stats)

Правильный способ сбора статистики ожиданий (sys.dm_os_wait_stats)Статистика ожидания является очень удобным и практичным инструментом для выявления узких мест в работе SQL Server. Познакомиться со списком существующих типов ожиданий и рекомендациями по реакции на отклонения ожиданий от нормы можно в описании динамического административного представления sys.dm_os_wait_stats

Для анализа статистики ожиданий необходимо собирать эту статистику в то время, в которое проявляются проблемы, либо обслуживается нагрузка, которую необходимо исследовать. Для этого обращение непосредственно к sys.dm_os_wait_stats не очень подходит, т.к. там накоплена статистика с момента последнего запуска сервера, либо с момента последней очистки результатов динамического представления командой: DBCC SQLPERF (‘sys.dm_os_wait_stats’, CLEAR);

Кроме того, результаты sys.dm_os_wait_stats потребуется ещё дополнительно агрегировать и форматировать, для удобства анализа статистики ожиданий.

Вашему вниманию предлагаются две процедуры, автор которых T. Davidson. После создания в базе данных master этих процедур , можно запустить вторую из них, например так:

EXEC dbo.track_waitstats_2005 @num_samples=20
,@delay_interval=30
,@delay_type='s'
,@truncate_history='y'
,@clear_waitstats='y'
GO

Процедура приступит к накоплению текущей статистики. По окончании или в процессе её работы можно получать отчёт об ожиданиях. Сделать это можно вызвав первую процедуру:

execute dbo.get_waitstats_2005
GO

Сам отчёт получиться примерно такого вида. Вверху будут те ожидания, которые требуют пристального внимания (если значения достаточно велики).

Скачать — get_waitstats_2005

Скачать — track_waitstats_2005

Запись опубликована в рубрике В помощь администратору, Скрипты с метками . Добавьте в закладки постоянную ссылку.

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

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