Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как вы отлавливаете дятлов? (deadlock)
|
|||
|---|---|---|---|
|
#18+
ASE 12.0 Форумчане, как вы отлавливаете Deadlock-и? Есть какое-нибудь удобное средство кроме анализа файла errorlog. Информация от пользователя об ошибки может придти c неким запаздыванием и увидеть какие процессы (процедуры) сработали в том моменте проблематично... автор ... Deadlock Id 57: Process (Familyid 0, Spid 105) was waiting for a 'shared row' lock on row 0 page 25025 of the 'pDepOrder' table in database 4 but process (Familyid 115, Spid 115) already held a 'exclusive row' lock on it. Deadlock Id 57: Process (Familyid 0, Spid 115) was waiting for a 'update row' lock on row 0 page 30070 of the 'pResList' table in database 4 but process (Familyid 105, Spid 105) already held a 'exclusive row' lock on it. Deadlock Id 57: Process (Familyid 0, 115) was chosen as the victim. End of deadlock information. Всего всего! Tор-Analytics ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 13:27 |
|
||
|
Как вы отлавливаете дятлов? (deadlock)
|
|||
|---|---|---|---|
|
#18+
DimaU пишет: > Форумчане, как вы отлавливаете Deadlock-и? Есть какое-нибудь удобное > ... > Deadlock Id 57: Process (Familyid 0, Spid 105) was waiting for a 'shared > row' lock on row 0 page 25025 of the 'pDepOrder' table in database 4 but > process (Familyid 115, Spid 115) already held a 'exclusive row' lock on it. > Deadlock Id 57: Process (Familyid 0, Spid 115) was waiting for a 'update > row' lock on row 0 page 30070 of the 'pResList' table in database 4 but > process (Familyid 105, Spid 105) already held a 'exclusive row' lock on it. > > Deadlock Id 57: Process (Familyid 0, 115) was chosen as the victim. End > of deadlock information. А чем это не устраивает ? Скажи, чего тебе хочется ... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 13:55 |
|
||
|
Как вы отлавливаете дятлов? (deadlock)
|
|||
|---|---|---|---|
|
#18+
ID-шник может смениться (пользователь войдет-выйдет из системы)... Хотелось бы в момент deadlock-а получать (автоматически!) простыню процессов его вызвавших или хотя бы отработку такого запроса: авторselect p.spid, p.status, suser_name(p.suid) as login, db_name(p.dbid) as db_name, object_name(l.id,l.dbid) as table_name, p.program_name, object_name(p.id,p.dbid) as procedure_name, p.cmd, p.stmtnum, p.linenum, p.priority, p.hostname from master..sysprocesses p left outer join master..syslocks l on p.spid = l.spid left outer join master..spt_values v on l.type = v.number and v.type = 'L' left outer join master..spt_values vlc on l.context + 2049 = vlc.number and vlc.type = 'L2' where (p.spid!=0) order by login and p.spid in (<ID-шники от deadlock>) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 15:52 |
|
||
|
Как вы отлавливаете дятлов? (deadlock)
|
|||
|---|---|---|---|
|
#18+
DimaUASE 12.0 Форумчане, как вы отлавливаете Deadlock-и? Есть какое-нибудь удобное средство кроме анализа файла errorlog. Информация от пользователя об ошибки может придти c неким запаздыванием и увидеть какие процессы (процедуры) сработали в том моменте проблематично... автор ... Deadlock Id 57: Process (Familyid 0, Spid 105) was waiting for a 'shared row' lock on row 0 page 25025 of the 'pDepOrder' table in database 4 but process (Familyid 115, Spid 115) already held a 'exclusive row' lock on it. Deadlock Id 57: Process (Familyid 0, Spid 115) was waiting for a 'update row' lock on row 0 page 30070 of the 'pResList' table in database 4 but process (Familyid 105, Spid 105) already held a 'exclusive row' lock on it. Deadlock Id 57: Process (Familyid 0, 115) was chosen as the victim. End of deadlock information. Всего всего! Tор-Analytics судя по названию объектов - вы тюните продукт Диасофт-а если так, то вы должны знать про функционал rti-файла rti + инфа из лог-файла даст вам информацию для размышления Либо отправьте этот комплект в Диас для анализа, не забыв указать версию продукта - возможно есть патч для вашего случая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 16:37 |
|
||
|
Как вы отлавливаете дятлов? (deadlock)
|
|||
|---|---|---|---|
|
#18+
авторrti + инфа из лог-файла даст вам информацию для размышления... отправьте этот комплект... Да, верно. Когда ситуацию можем повторить на тестовой базе - весь анализ (rti + лог) отсылается разработчикам. Хуже когда ситуацию не можем повторить (много пользователей и процессов). Поэтому и встал вопрос - как перевоначально поймать дятлов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 17:18 |
|
||
|
Как вы отлавливаете дятлов? (deadlock)
|
|||
|---|---|---|---|
|
#18+
DimaU пишет: Ну я могу поделиться как это было организовано у нас. У нас был написан некий сервис на Perl - это не сложно сделать - который периодически проверял наличие процессов, блокирующих другие процессы более определенного времени. Время задавалось в конфигурации и было реально что-то типа 10 секунд. Если такие процессы обнаруживались, то они убивались один за другим (чтобы дать возможность остальным рассосаться если будет лучше после убийства первого), но перед убиванием сохранялся результат работы другой процедуры, которая давала всю картинку блокировок и выполняющихся запросов и процедур. Ну и потом это можно было из логов взять уже и анализировать разработчику. К дэдлокам это казалось бы отношения не имеет, но до них уже в таком случае дело не доходило - киллер убивал их раньше. Я не могу поделиться сервисом, но сами запросы (они в виде процедур оформлены) могу дать ( я их уже кстати сюда выдавал). Одна из этих двух процедур sp__wholocks полезна и просто сама по себе - показывает все локи в удобном виде. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 17:18 |
|
||
|
Как вы отлавливаете дятлов? (deadlock)
|
|||
|---|---|---|---|
|
#18+
авторно сами запросы (они в виде процедур оформлены) могу дать ( я их уже кстати сюда выдавал). MasterZiv, cпасибо! Был бы благодарен за запросы. Можно и по адресу в профиле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 17:37 |
|
||
|
Как вы отлавливаете дятлов? (deadlock)
|
|||
|---|---|---|---|
|
#18+
DimaU Хуже когда ситуацию не можем повторить (много пользователей и процессов). Поэтому и встал вопрос - как перевоначально поймать дятлов. включить запись rti у самых жалующихся пользователей (типа "действие часто не выполняется") хотя возможно потребуется порядочно дискового пространства - afair, rti-файл может достигать больших размеров попросить их отследить время появления проблемы и свериться с логом Sybase для данного времени ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 17:42 |
|
||
|
Как вы отлавливаете дятлов? (deadlock)
|
|||
|---|---|---|---|
|
#18+
1) Убедиться, что схема блокировки на обоих таблицах "Lock scheme Datarows". Если постраничная, то поменять. 2) Постредством RTI, попытаться понять какие запросы вошли в блокировку. Зачастую оказывается, что "виноват" либо update, который изменяет первое поле индексов на противоположный по знаку. Либо "виноват" delete, в котором удаляемая таблица не стоит в секции from, либо стоит но не прописан индекс. В этом случае оптимизатор может выбрать table scan, что и становится причиной мёртвой блокировки. И update первого поля, и delete без индекса являются ошибками! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2007, 07:53 |
|
||
|
Как вы отлавливаете дятлов? (deadlock)
|
|||
|---|---|---|---|
|
#18+
DimaU пишет: > MasterZiv, cпасибо! Был бы благодарен за запросы. Можно и по адресу в > профиле. Я тут все думаю как и где бы их окончательно опубликовать, чтобы было хорошо. Ну и доделать. Позже сообщю. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2007, 15:12 |
|
||
|
|

start [/forum/topic.php?fid=55&tid=2011932]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
36ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 344ms |

| 0 / 0 |
