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

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

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

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


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

Варианты решения проблемы следующие:
1. Спиливать параллелизм через maxdop 1 с причастных запросов.
2. Если пункт 1 не подходит из соображений перфоманса, писать свой резолвер и убивать через kill.
...
Рейтинг: 0 / 0
06.10.2020, 17:22
    #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
06.10.2020, 17:39
    #40005901
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессы блочат друг друга
ther,

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

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

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


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