Длительность профилировщика SQL Server против sp_whoisactive

#sql-server

#sql-сервер

Вопрос:

Я знаю, что длительность, показанная профилировщиком SQL Server, не совпадает со значениями duration (dd hh: mm:ss.mss) для данного оператора select. Кто-нибудь знает, почему это не соответствует. пожалуйста, поправьте меня, если я ошибаюсь, но, насколько я понимаю, оба они фиксируют запущенные запросы в данный момент. Однако попытка понять, почему sp_whoisactive не будет совпадать с профилировщиком.

Спасибо

Ответ №1:

Было бы полезно привести несколько примеров того, как вы пришли к своему выводу. Вы также должны прочитать это, чтобы понять, как sp_whoisactive обрабатывает запросы на сон и активные запросы в отношении времени.

Определения того, что означает каждое событие трассировки, определены на этой странице документации

Комментарии:

1. мы проводили нагрузочный тест с использованием Apache Jmeter, при этом происходили вставки. Я отслеживал эти вставки с помощью sp_whoisactive, и продолжительность составляла около 20 мс, но профилировщик показывал около 0 или 2 мс в графическом пользовательском интерфейсе. Я не запускал трассировку на стороне сервера, поскольку это тестовый сервер. Пытаюсь понять, почему несоответствие. Спасибо за ваши комментарии.

2. Я смог посмотреть на sp_whoisactive и длительность профилировщика и теперь могу понять. Спасибо за эти ссылки. Они проясняют. Показатели, сообщаемые sp_whoisactive, являются более значимыми и точными. Не говоря уже о том, что профилировщик показывает неправильные данные, но профилировщик не охватывает внутренние детали спящих и активных запросов до глубины sp_whoisactive. Большое спасибо, Мартин. Ценю вашу помощь.