26.04.2006, 11:36 | #1 |
Ищу людей. Дорого.
|
Странное поведение сессий
Мониторил сессии, немного настораживает одно обстоятельство
Сессия открывает транзакцию и замирет, статус у нее AWAITING COMMAND и все. никаких команд она не выполняет - просто висит, причем висеть может довольно долго. А тем временем она успешно блокирует другие сесси, поскольку ресурс уже захватила Может кто-нибудь объяснить или посоветовать как определить что же она такое делает? |
|
26.04.2006, 12:16 | #2 |
Программатор
|
Какую таблицу захватывает?
Что пользователь запустил, что возникла такая ситуация? |
|
26.04.2006, 12:55 | #3 |
Ищу людей. Дорого.
|
Сейчас нет такой ситуации, как появится, обязательно отпишусь
|
|
26.04.2006, 14:59 | #4 |
Ищу людей. Дорого.
|
нашел пример
63 171 geac-user domoNew sleeping EXECUTE LCK_M_U KEY: 10:405888813:3 (3602abc3fa2a) 64 0 aos2-client domoNew sleeping AWAITING COMMAND not waiting 83 156 aos2-client domoNew sleeping EXECUTE LCK_M_U KEY: 10:157347725:1 (b202a1079a4f) 130 156 olap-terminal domoNew sleeping EXECUTE LCK_M_U KEY: 10:157347725:1 (b002ec2605cf) 154 225 geac-user domoNew sleeping EXECUTE LCK_M_U KEY: 10:58951782:1 (04025c9af58d) 156 64 aos-client domoNew sleeping EXECUTE LCK_M_S KEY: 10:638677373:1 (d00246ae52dd) 171 156 geac-user domoNew sleeping EXECUTE LCK_M_U KEY: 10:157347725:1 (b502f1622438) 182 171 aos2-client domoNew sleeping EXECUTE LCK_M_S KEY: 10:573661537:1 (0002790f8c7b) 225 83 aos2-client domoNew sleeping EXECUTE LCK_M_U KEY: 10:157347725:1 (b202a1079a4f) 249 182 olap-terminal domoNew sleeping EXECUTE LCK_M_U KEY: 10:1844969699:1 (0403d8578477) Процесс 64 висит он блокирует процесс 156. Смотрим какой ресурс он ожидает. 64 domoNew.dbo.INVENTSUM I_174ITEMDIMIDX KEY X GRANT Xact (d00246ae52dd) вот такая бяда и висит ужо полчаса ( |
|
26.04.2006, 17:14 | #5 |
злыдень
|
1. у Вас ОЛАП по живой базе шуршит, где люди копошатся??
2. Сделать INVENTSUM I_174ITEMDIMIDX KEY кластерным не пробовали? 3. Отмониторить запрос, кот вгоняет в ступор и прогнать его через QA?
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ |
|
27.04.2006, 09:30 | #6 |
Ищу людей. Дорого.
|
Он кластерный.
запросы смотрел везде вроде index seek скана по индексу или по таблице не видел |
|
27.04.2006, 09:50 | #7 |
злыдень
|
Попробуйте посмотреть что скажут sp_lock
http://msdn.microsoft.com/library/de...la-lz_6cdn.asp И sp_who2 Лучше всеж найти причину в первоисточнике (акзапте) ЗЫ: tempdb не опухла?
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ |
|
27.04.2006, 10:00 | #8 |
Ищу людей. Дорого.
|
я своими процедурами пользуюсь sp_lock и sp_who меня не удовлетворяют
по поводу tempdb - он лежит на системном, отдельно от базы в нем 4 файла одинакого размера (по кол-ву процов) по 3 гб в каждом |
|
27.04.2006, 10:25 | #9 |
злыдень
|
круто, а что процедурки показывают?
sp_who2 чуть подробней sp_who Мы обычно мониторим кто запустил долгоиграющий процесс, что он делает и пытаемся оптимизировать код. Например кто то активно работает с остатками длит-ое время, напр. инвент-ия создается.
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ |
|
27.04.2006, 10:40 | #10 |
Ищу людей. Дорого.
|
А как определяете что он именно инвентаризацию делает а не учитывает что либо?
|
|
27.04.2006, 11:03 | #11 |
злыдень
|
спрашиваем. Точней он сам прибежит, я тут закупку делаю из 4000 строк, а эта дура аксапта уже час висит.
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ |
|
27.04.2006, 11:09 | #12 |
Ищу людей. Дорого.
|
ааа ) понятно
скрипты я получил путем трассировки профайлером действий по просмотру блокировок из EM. нашел нужные процедуры, разобрал их и подкорректировал особенно удобно смотреть первоисточники блокировок и то какие ресурсы они блокируют тем более я могу мониторить по отдельному пользователю или по базе смотреть какие ресурсы держит определенный юзер стандартными процедурами так не получится |
|