powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Регулярный Suspend на select коммандах
10 сообщений из 10, страница 1 из 1
Регулярный Suspend на select коммандах
    #39906593
Andy06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть 2 БД.
В одной изменение таблиц (insert/update/delete) не выполняется. Из нее только идет выборка с JOIN в другую БД, в которую как раз и идет наполнение данными. Там 3 таблицы, 2 из которых считываются в запросе и они же наполняются. Индексы только некластерные (ни одного кластерного индекса на этих двух таблицах).
Работа происходит примерно так:
1. Получил данные (select .... left join [second DB]);
2. Идет анализ полученных данных, формирование новых массивов данных, полученных в результате анализа, и наполнение 3 таблиц во второй БД ([second DB]). Добавление происходит через BULK-Insert по 50'000 строк за раз.
3. Снова выполняется пункт #1.

Так вот при выполнении пункта 1 у меня происходит очень долгий запрос. По началу такого не было. Видимо это связано с ростом индекса, но я не понимаю вот чего. Я добавил данные. Если функция программы продолжается, значит сервер вернул программе что "всё ОК", а это значит что и индекс он перестроил. Так если индекс перестроен, чего сервер так долго обрабатывает запрос и суспендид комманды? Картинку прикладываю (приложил бы текстом, но не знаю какой коммандой получить).

Вопрос вот в чем. Можно ли что-то сделать для того чтобы сервер не суспендил каждый запрос выборки (или суспендил но на меньшее время, потому что реально suspend долгий)? Или где хоть почитать про это? Или хотябы скажите как правильно гуглу этот вопрос задать, ведь я даже не знаю что искать.
...
Рейтинг: 0 / 0
Регулярный Suspend на select коммандах
    #39906595
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andy06Можно ли что-то сделать для того чтобы сервер не суспендил каждый запрос выборки (или суспендил но на меньшее время, потому что реально suspend долгий)? Или где хоть почитать про это? Или хотябы скажите как правильно гуглу этот вопрос задать, ведь я даже не знаю что искать.

msdnsuspended = The session is waiting for an event, such as I/O, to complete.
...
Рейтинг: 0 / 0
Регулярный Suspend на select коммандах
    #39906598
Andy06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так, ну я понял что проблема в ожидании завершения чего-то, вопрос чего именно?
В Wait Type (в мониторе активности) по долгу стоит pageiolatch_sh.
...
Рейтинг: 0 / 0
Регулярный Suspend на select коммандах
    #39906610
Andy06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для тех, кто столкнется с такой же проблемой советую прочитать статью: https://www.sqlshack.com/handling-excessive-sql-server-pageiolatch_sh-wait-types/
...
Рейтинг: 0 / 0
Регулярный Suspend на select коммандах
    #39906950
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andy06,

SUSPEND это нехватка памяти, нехватка ядер. Кратковременный SUSPEND при параллелизме - это нормально. В обоих случаях недостаточно физических ресурсов. Либо настроены какие-то приоритеты, управление ресурсами или ещё что-то. Но это врят ли Ваш случай. Может быть "холодная" база. Надо детально разбираться - что и при каких условиях.
...
Рейтинг: 0 / 0
Регулярный Suspend на select коммандах
    #39906957
Владислав Колосов
Кратковременный SUSPEND при параллелизме - это нормально.
А можно ссылочку на подробности?
...
Рейтинг: 0 / 0
Регулярный Suspend на select коммандах
    #39906987
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов

SUSPEND это нехватка памяти, нехватка ядер.
Кратковременный SUSPEND при параллелизме - это нормально.
В обоих случаях недостаточно физических ресурсов.
Либо настроены какие-то приоритеты, управление ресурсами или ещё что-то.
Но это врят ли Ваш случай. Может быть "холодная" база.
Надо детально разбираться - что и при каких условиях.

что сразу нехватка-то.
достаточно повесить Sch-M на особо популярную таблицу,
как будет поезд из suspended
...
Рейтинг: 0 / 0
Регулярный Suspend на select коммандах
    #39906989
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любопытный гость
Владислав Колосов
Кратковременный SUSPEND при параллелизме - это нормально.
А можно ссылочку на подробности?

например More on CXPACKET Waits: Skewed Parallelism
...
Рейтинг: 0 / 0
Регулярный Suspend на select коммандах
    #39906995
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любопытный гость,

немного проигрываете в ожидании синхронизации, но выигрываете в производительности в целом. Админов ожидания CX_PACKET обычно приводят в ужас своими цифрами и они радостно кричат вот почему сервер тормозит! Надо отключать параллелизм!
...
Рейтинг: 0 / 0
Регулярный Suspend на select коммандах
    #39907004
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
Любопытный гость,

немного проигрываете в ожидании синхронизации, но выигрываете в производительности в целом. Админов ожидания CX_PACKET обычно приводят в ужас своими цифрами и они радостно кричат вот почему сервер тормозит! Надо отключать параллелизм!

сейчас его ещё и разделили +CXCONSUMER, так что теперь всё на них в топе :)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Регулярный Suspend на select коммандах
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]