Новость из категории: Информация

Сбор данных по ожиданиям экземпляра и по ожиданиям сеанса в SQL Server 2016

Содержание:
1. Введение;
2. Сбор данных по ожиданиям экземпляра и по ожиданиям сеанса в SQL Server 2016 (Вы читаете данный раздел);
3. Новый процесс сбора информации об ожидании экземпляра в SQL Server 2016.
Сбор данных по ожиданиям экземпляра и по ожиданиям сеанса в SQL Server 2016

Два изменения в механизме сбора статистики ожидания дают отличные результаты при обоих уровнях детализации:
1. Выполните все запросы по сбору статистики ожидания при значении MAXDOP, равном 1.
2. Вместо самообъединения с обобщенным табличным выражением используйте оконную функцию для расчета текущей процентной доли ожиданий.

Однако надо учитывать, что оконные функции могут использоваться только в SELECT и WHERE. Именно по этой причине, как вы увидите, я изменил приведенные здесь запросы таким образом, чтобы они возвращали сведения по трем важнейшим ожиданиям, а не по всем ожиданиям до порогового значения в 95% всех запросов, которые входят в стандартный запрос по ожиданиям, применявшийся повсюду, от книги о динамических административных объектах, которую я вместе с Луисом Дэвидсоном написал в 2010 году, до веб-сайтов и презентаций по всему миру. Я всегда считал это пороговое значение несколько чрезмерным, поскольку чаще всего интерес представляют типы ожиданий, составляющие основную массу ограничений по ресурсам, а не те типы, которые, возможно, составляют лишь 1—2% всех ожиданий, когда значения приближаются к порогу в 95% в старом запросе.

Разумеется, вы можете модифицировать публикуемые ниже запросы таким образом, чтобы они включали 5, 10 или 42 периода ожидания. Решать вам.

Сбор данных по ожиданиям экземпляра и по ожиданиям сеанса в SQL Server 2016

Рассмотрим два варианта опроса нового представления sys.dm_exec_ session_wait_stats, а также новый подход к опросу представления sys. dm_os_wait_stats на предмет получения статистики ожидания уровня экземпляра в SQL Server 2016. Обратите внимание на то, что, когда я возвращаю результаты по статистике ожиданий уровня сеанса, я не перевожу миллисекунды в секунды. Как правило, сеансы не продолжаются столь же долго, как выполняется экземпляр без перезапуска служб. В случае преобразования в миллисекунды мы с высокой долей вероятности увидим большое количество данных по ожиданиям, выраженных в долях секунды.

Прежде всего мы исследуем пересмотренный код для опроса статистики ожиданий уровня экземпляра с помощью существующего динамического административного представления sys.dm_os_wait_stats.

Второй запрос возвращает информацию о конкретном идентификаторе session_id с помощью нового динамического административного представления sys.dm_exec_session_waits.

Последний запрос содержит код для возвращения информации обо всех сеансах, связанных с конкретной базой данных, с помощью представления sys.dni_exec_session_waits.

Сбор данных по ожиданиям экземпляра и по ожиданиям сеанса в SQL Server 2016

При составлении каждого из этих запросов учитывалась необходимость запуска в качестве MAXDOP 1 и применения оконной функции для расчета текущей процентной доли в соответствии с изложенными выше соображениями.

Рейтинг статьи

Оценка
0/5
голосов: 0
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх