powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Процессы блочат друг друга
9 сообщений из 9, страница 1 из 1
Процессы блочат друг друга
    #40005833
ther
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Со вчерашнего обеда появилась непрятная хрень, некоторые процессы начали блочить друг друга и просто бесконечно висят. То есть, условный процесс 107 ждет завершения выполнения процесса 333, а 333 ждет 107. При этом, всегда у одного процесса 1 поток, а у другого процесс разбит на несколько потоков

Может кто то с таким сталкивался, куда копать хоть?
...
Рейтинг: 0 / 0
Процессы блочат друг друга
    #40005845
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
описанное поведение есть deadlock

а версия сервера какая?
...
Рейтинг: 0 / 0
Процессы блочат друг друга
    #40005851
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ther
Со вчерашнего обеда появилась непрятная хрень, некоторые процессы начали блочить друг друга и просто бесконечно висят. То есть, условный процесс 107 ждет завершения выполнения процесса 333, а 333 ждет 107. При этом, всегда у одного процесса 1 поток, а у другого процесс разбит на несколько потоков

Может кто то с таким сталкивался, куда копать хоть?


С проблемой нерезолвящися дедлоков сталкивались.

Варианты решения проблемы следующие:
1. Спиливать параллелизм через maxdop 1 с причастных запросов.
2. Если пункт 1 не подходит из соображений перфоманса, писать свой резолвер и убивать через kill.
...
Рейтинг: 0 / 0
Процессы блочат друг друга
    #40005889
ther
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad
а версия сервера какая?

Microsoft SQL Server 2016 (SP2) (KB4052908) - 13.0.5026.0 (X64)
Mar 18 2018 09:11:49
Copyright (c) Microsoft Corporation
Enterprise Edition: Core-based Licensing (64-bit) on Windows Server 2016 Datacenter 10.0 <X64> (Build 14393: )


Гавриленко Сергей Алексеевич
2. Если пункт 1 не подходит из соображений перфоманса, писать свой резолвер и убивать через kill.


это прям максимально радикально.

просто прикол в том, что параллелизм работает уже 1,5 года. Один раз была проблема, мы кильнули процесс и все. Но итить колотить, со вчерашнего обеда просто треш, причем только 2 таблицы и все. То есть, я жопой чую, что то кто лажанул в коде, ибо обычно лочаться update + delete, я хз, но жопой чую, что они каким то макаром выходят на одну запись, но не могу поймать
...
Рейтинг: 0 / 0
Процессы блочат друг друга
    #40005901
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ther,

посмотрите в CU8 есть на тему дедлоков 3 фикса
...
Рейтинг: 0 / 0
Процессы блочат друг друга
    #40005903
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ther,

Планы посмотрели? Например, пересечение clustered index scan в одном и clustered index seek в параллельных других.
...
Рейтинг: 0 / 0
Процессы блочат друг друга
    #40005920
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ther,

Жопа в качестве инструмента слабо поможет.
Смотрите какой ресурс ожидают процессы в sys.dm_os_waiting_tasks или в sys.dm_exec_requests
...
Рейтинг: 0 / 0
Процессы блочат друг друга
    #40005955
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там не дэдлок, там хоровод. Первый берет вторую, второй первую и понемногу идут друг за другом, кто быстрее.
...
Рейтинг: 0 / 0
Процессы блочат друг друга
    #40005982
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
Там не дэдлок, там хоровод. Первый берет вторую, второй первую и понемногу идут друг за другом, кто быстрее.
Да. Хоровод. Ходит по кругу и подстраивается под выборки наблюдателей так, что там всегда один и тот же ресурс на протяжении суток-других. Очень скилованный хоровод, не иначе.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Процессы блочат друг друга
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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