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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.08.2020, 11:34   #1  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,350 / 2250 (82) +++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Post Рабочие сессии в Ax2012
Привет всем.

Вопрос:
2012-я аксапта при работе обычных пользователей очень часто открывает дополнительные сессии с типом "Рабочий". При этом для конкретного пользователя может не быть открыто ни одной такой сессии, а может быть открыто несколько. Суммарно получается что при 100 работающих пользователях у них открыто еще около 50 сессий с типом Рабочий.
В нашем случае 99 % таких сессий открывается на пакетном аосе. Но для меня, например, открыта еще парочка на обычном пользовательском аосе, на которым пакеты вообще отключены.
Т.е. это не пакеты да и мы точно знаем что пользователи их не запускают и в пакетных заданий не видно пакетов которые могли бы породить эти сессии.

Что же это ? Опросил коллег и знакомых, никто толком не знает. Говорят что для 2012-й это нормально и всегда так было.

Но интересно что же это, зачем аксапта открывает эти сессии и что они делают.
Кто знает ?
За это сообщение автора поблагодарили: trud (1).
Старый 04.08.2020, 16:12   #2  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
301 / 392 (14) ++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Думаю, что это галка - Выполнять бизнес-операции в CIL в настройках пользователя, часть кода в работает в CILе в UI интерфейсе, если активирована эта галка.
Все ли такие сессии не знаю.

Я провёл такой эксперимент (создание строк в форме разноски покупки работает в СIL):

1. При снятой галке - открыл форму разноски отборочной по покупке, разнёс отборку, сессии с типом рабочий не было.
2. Активировал галку - открыл форму снова - в результате появилась вторая сессия с типом Рабочий.
__________________
Sergey Nefedov

Последний раз редактировалось SRF; 04.08.2020 в 16:17.
Старый 04.08.2020, 16:12   #3  
trud is offline
trud
Участник
Лучший по профессии 2017
 
868 / 1121 (39) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Интерестный вопрос - вообще у меня было понимание что это пул сессий созданых классом Connection(т.е. при выделение номерных серий и подобного). АХ их не закрывает в процессе. Это приводит к таким эффектам - что к примеру иногда в базе tempdb создаются тысячи временных таблиц
За это сообщение автора поблагодарили: Raven Melancholic (2).
Старый 04.08.2020, 16:58   #4  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,564 / 4942 (170) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от trud Посмотреть сообщение
Интерестный вопрос - вообще у меня было понимание что это пул сессий созданых классом Connection(т.е. при выделение номерных серий и подобного). АХ их не закрывает в процессе. Это приводит к таким эффектам - что к примеру иногда в базе tempdb создаются тысячи временных таблиц
У меня такое понимание:
1. Аксапта в целом повторно использует открытые SQL-соединения. Соединение, которое никому не пригодилось, после некоторого таймаута закрывается. При этом для оракла таймаут по умолчанию довольно большой (30 секунд, насколько я помню), а для сиквела - маленький (типа секунда). Так было сделано из за того, что в оракле, открытие нового соединения было довольно дорогим и занимало секунды 2-3. Не уверен что этот механизм пережил переход на DAX2012, в которой поддержку оракла выкосили.
2. Созданные инстанцы tempDB tables опять таки повторно используются и удаляются только в момент останова AOS. При этом эти инстанцы к сесии (которая вполне может быть закрыта) не привязаны, поскольку с точки зрения SQL Server, это не временные таблицы, а самые обычные таблицы в БД TempDB, которые вполне могут пересекать границы соединения.

Оба эти механизма интересны и достойны обсуждения, но, как мне кажется, к вопросу топик-стартера отношения не имеют. Там скорее всего и вправду завязки на серверные сесии, которые код в CIL исполняют.
(Кстати - я так подозреваю что микрософт сделал такие странные "временные таблицы которые на самом деле не временные", как раз для того чтобы таблицы можно было передавать между нормальным соединением пользователя и теми соединениями, которые из за CIL порождаются).
За это сообщение автора поблагодарили: S.Kuskov (2).
Старый 04.08.2020, 18:09   #5  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,350 / 2250 (82) +++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от SRF Посмотреть сообщение
Думаю, что это галка - Выполнять бизнес-операции в CIL в настройках пользователя,
Интересно. Я проверю. У нас почти у всех эта галка отключена.Так что похоже что не оно.

Сегодня отключу вообще всем и завтра посмотрю.
Старый 04.08.2020, 19:42   #6  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
1,946 / 1058 (39) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Я пока склоняюсь к мнению trud.
Есть операции, которые открываются в отдельном соединении, большинство из них известно. Есть подозрение, что выделение номерных серий (а оно явно делается в отдельном соединении) как раз и делает дополнительные сессии. Конечно есть и другие действия, приводящие к отдельному соединению ()особенно при работе пакета, WEB сервисов, внешнего вызова BussinesConnector и т.п.).
Сейчас попробовал:
  • Открыл заново DAX2012. В активный пользователях только я как обычный пользователь.
  • Открыл форму, в которой в интерфейсе при создании строки срабатавает назначение номера. Создал строку, сохранил - в активных пользователях ничего не изменилось.
  • Открыл форму, в которой назначение номера идет в табличном методе insert. Создал строку - опс, появилась сессия "Рабочий".
  • Запустил джоб, в котором дергается номерная серия - опс, появилась сессия "Рабочий".
Не знаю, возможно просто так совпало и сессия "Рабочий" появляется как-то по другому, но задуматься стоит.
Старый 04.08.2020, 19:48   #7  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
1,946 / 1058 (39) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Хотя вроде бы выделение номерной серии открывает отдельный коннект к базе данных, а не к AOS, но факт, как говорится, налицо.
Попробовал вызвать процедуру записи в некоторый лог, запись которого открывает новый коннект к базе данных - тип "Рабочий" не появился.
Ага - через пару минут у меня есть два коннекта с типом "Рабочий". Барабашка какая-то.

Последний раз редактировалось Raven Melancholic; 04.08.2020 в 19:50. Причина: Появился рабочий коннект
Старый 04.08.2020, 20:03   #8  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
1,946 / 1058 (39) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
Сообщение от SRF Посмотреть сообщение
1. При снятой галке - открыл форму разноски отборочной по покупке, разнёс отборку, сессии с типом рабочий не было.
2. Активировал галку - открыл форму снова - в результате появилась вторая сессия с типом Рабочий.
Не, тут все понятно - для принудительно вызова кода в CIL используется RunAs. То что он создает новую сессию это описано.
Понятно, когда вызов из Batch сервера - там тоже может быть RunAs.
Понятно когда вызов BussinesConnector - он всегда при загрузке AOT такую сессию создавал. Остальные были либо WEB либо что-то там другое (так и не понял как он отличает WEB от другого).
Но появление таких коннектов в простом режиме работы пользователей непонятно.
За это сообщение автора поблагодарили: trud (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
dynamicsaxse: November 2018 Release – Dynamics AX2012 R3 update Blog bot DAX Blogs 0 15.11.2018 09:11
AX2012. Портал. Таймаут сессии. ta_and DAX: Программирование 2 07.07.2018 03:53
stephenmann: Technical History of Dynamics AX - From Axapta 3.0 to AX2012 Blog bot DAX Blogs 5 03.03.2017 10:22
dynamicsax-fico: Invoice search AX2012 vs. AX7 (Part 2) Blog bot DAX Blogs 0 01.04.2016 10:11
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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