Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 параллельность запросов  [new]
мигель1
Member

Откуда:
Сообщений: 3189
Добрый вечер!

есть условно 5 запросов
1. время выполнения 5м
2. время выполнения 3м
3. время выполнения 2м
4. время выполнения 20м
5. время выполнения 15м

но когда они запускаются параллельно время выполнения становится у всех от 10 до 30 минут, скорее всего один ждет другого!
(запросы не зависимые)

Подскажите пожалуйста куда копать, чтобы понять какой запрос тормозит остальные?
Профайлер спасет?

Спасибо
5 ноя 19, 21:34    [22010250]     Ответить | Цитировать Сообщить модератору
 Re: параллельность запросов  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1056
мигель1,

Спасет представление sys.dm_os_waiting_tasks
5 ноя 19, 22:15    [22010262]     Ответить | Цитировать Сообщить модератору
 Re: параллельность запросов  [new]
мигель1
Member

Откуда:
Сообщений: 3189
felix_ff,
Спасибо, сейчас очищу статистику )

wait_duration_ms wait_type
5836294412 FT_IFTSHC_MUTEX
5836261279 KSOURCE_WAKEUP
5836289739 BROKER_TRANSMITTER
5836289739 BROKER_TRANSMITTER
5836294412 ONDEMAND_TASK_QUEUE

Нашел по ключевому слову такой блог
https://www.sql.ru/blogs/gladchenko/532
5 ноя 19, 23:00    [22010281]     Ответить | Цитировать Сообщить модератору
 Re: параллельность запросов  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1056
мигель1,

немного не то. статистика ожиданий собираемых данных из sys.dm_os_wait_stats вам показывает не причину а следствие - обобщенное представление о возможных узких местах.

а на конкретных запросах если они встают в очередь ожиданий необходимо смотреть данные в sys.dm_os_waiting_tasks + sys.dm_tran_locks. так вы сможете идентифицировать ресурсы по которым происходят ожидания и уже принимать решения где что подкрутить.
6 ноя 19, 03:26    [22010335]     Ответить | Цитировать Сообщить модератору
 Re: параллельность запросов  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 6955
мигель1,

такие wait_duration потому, что давно сервер не перезагружали. Надо другие счетчики смотреть.
6 ноя 19, 11:16    [22010565]     Ответить | Цитировать Сообщить модератору
 Re: параллельность запросов  [new]
Владимир Затуливетер
Member

Откуда:
Сообщений: 425
мигель1,

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

Как самый простой способ мониторинга попробуйте посмотреть Activity Monitor в SSMS, там есть Resource Waits, также нагрузка на процессор.

А вообще мне кажется вы двигаетесь в неправильном направлении, в конечном итоге вам все равно придется либо ресурсы сервера увеличивать, либо оптимизировать запросы. Поэтому я бы сначала посмотрел на запросы/планы запросов в отдельности, надо понять что в каждом из них происходит, и после оптимизировать их узкие места.
6 ноя 19, 20:15    [22011077]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить