AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Администрирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.09.2014, 14:47   #1  
Corel is offline
Corel
Участник
Ex AND Project
 
73 / 15 (1) ++
Регистрация: 19.04.2007
? Чем занят пакетник и на чём он тормозит?
Здравствуйте. DAX 2009 3761, SQL 2008 R2 (SP2)


Уже пару недель очень странно ведут себя пакетные задания, занятые разноской заказов на продажу. Работает два пакетных АОСа на разных серверах, обрабатывающие одну пакетную группу. И периодически возникает такая ситуация, когда часами задания висят часами в статусе "Выполнение", но фактически ничего не происходит.
В данный момент творится вообще какой-то сюр: задания, висящие в выполнении, снял, удалил их из пакетной очереди, перезагрузил пакетные АОСы, но остальные задания как были в Ожидании, так и остаются. Прибил на SQL процессы, запускаемые под учёткой этих пакетников,, которые продолжали обращаться к таблицам, участвующим в разноске - они моментально реинкарнируются под теми же spid и продолжают что-то делать.


Сосбтвенно, прошу совета: как бы понять, что там творится и чего ему не хватает для счастья? То ли запросы на SQL долго выполняются, то ли программная логика хромает и уже зависание именно на аосе происходит, то ли производительность железа подводит.
Старый 08.09.2014, 15:02   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,875 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Никто вам не скажет здесь.
Придется разбираться самим.

В качестве подсказки :
В форме активных пользователей вы видите SessionId
Его же можно вывести в форме пакетов Batch
Сопоставляя эти значения понять какая сессия какому пакету соответствует. Ну и подсмотреть по SID из формы активных пользователей какие запросы в БД идут.

Можно также сохранять sessionId и в логе длинных запросов SQL.

А вообще мне казалось что не принято одну и ту же пакетную группу на несколько пакетных аосов назначать. Но могу и ошибаться.
За это сообщение автора поблагодарили: gl00mie (2).
Старый 08.09.2014, 16:11   #3  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
блокировки смотрели?
За это сообщение автора поблагодарили: mazzy (2).
Старый 08.09.2014, 16:19   #4  
A_BAS is offline
A_BAS
Участник
Аватар для A_BAS
 
77 / 48 (2) +++
Регистрация: 19.04.2012
а может оно зацикливается?
посмотрите нет ли у вас в коде конструкции типа
X++:
try
{
   ...
}
catch
{
    retry;
}
Старый 08.09.2014, 16:55   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Corel Посмотреть сообщение
И периодически возникает такая ситуация, когда часами задания висят часами в статусе "Выполнение", но фактически ничего не происходит.
согласен с Wamr, смотрите deadlock'и на SQL-сервере.
Старый 08.09.2014, 19:01   #6  
Corel is offline
Corel
Участник
Ex AND Project
 
73 / 15 (1) ++
Регистрация: 19.04.2007
Нет, блокировок нет, в том-то и засада. Там, где идёт retry, вставил вывод информации об этом в инфолог, в нём чисто. Хотя есть подозрение, что в журнал пакетного задания эти сообщения могут и не попасть.
На стороне SQL соответствующие процессы часто висят в состоянии awaiting command - то есть, по идее, ждут, пока АОСу ещё что-то от них потребуется, а он неторопливо обрабатывает полученное.

Последний раз редактировалось Corel; 08.09.2014 в 19:07.
Старый 08.09.2014, 19:50   #7  
A_BAS is offline
A_BAS
Участник
Аватар для A_BAS
 
77 / 48 (2) +++
Регистрация: 19.04.2012
в инфолог сообщения не попадают пока пакет не завершится.
попробуйте использовать такую конструкцию с #OCCRetryCount. Пример можно посмотреть в классе tutorial_RunBaseBatch метод run().
В этом случае пакетная обработка не будет зацикливаться, а будет завершаться после 3х попыток.
Старый 09.09.2014, 00:17   #8  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Corel Посмотреть сообщение
Нет, блокировок нет, в том-то и засада. Там, где идёт retry, вставил вывод информации об этом в инфолог, в нём чисто.
В топку инфолог, запустите трассировку и потом Trace Parcer'ом посмотрите, что там происходит.

PS. Вспомнилось: "Ну признайтесь уже — джаваскрипт алертами дебажили?"
Старый 09.09.2014, 17:46   #9  
Corel is offline
Corel
Участник
Ex AND Project
 
73 / 15 (1) ++
Регистрация: 19.04.2007
Так, ок, попробую Trace Parcer. Про вывод в инфолог: смотрел журнал уже после отработки пакетника (он, хоть и тупит, но в конце концов отрабатывает), пусто.
Кстати, для многих пакетов в статусе Выполнение не назначен экземпляр сервера (поле ServerId в таблице Batch) - это нормально?
Старый 09.09.2014, 19:48   #10  
handy-comp is offline
handy-comp
Участник
 
96 / 78 (3) ++++
Регистрация: 27.09.2012
Цитата:
Сообщение от Corel Посмотреть сообщение
... Про вывод в инфолог: смотрел журнал уже после отработки пакетника (он, хоть и тупит, но в конце концов отрабатывает), пусто.
...
В инфологе не стоит ловить сообщения при try - catch - retry, там вырезаются сообщения, вот здесь обсуждалось: try - catch и InfoLog
За это сообщение автора поблагодарили: Corel (1), S.Kuskov (2), A_BAS (1).
Старый 12.09.2014, 20:19   #11  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
672 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
а как настроена группа пакетных заданий? есть в ней batch-серверы?
__________________
Felix nihil admirari
Теги
batch, пакетный сервер

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Тормозит разноска Заказа на Покупку с ОС vazerdim DAX: Функционал 6 24.10.2012 22:04
Местами тормозит DAX2009 Bega DAX: Прочие вопросы 9 23.07.2010 12:02
Пакетник в Dax-2009 как 4.0 Shirmin Oleg DAX: Функционал 18 02.07.2010 18:32
ListView в чём секрет ширины элементов? miklenew DAX: Программирование 16 03.12.2007 09:27
display метод тормозит Woland DAX: Программирование 4 28.03.2005 14:49

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:16.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.