01.08.2005, 17:54 | #1 |
Участник
|
Проблема с производительностью AOS
Hi, All !
Ситуация: Axapta 2.5 sp 4; MS SQL; 3-х звенка Объем InventTrans за месяц = записей С некоторых пор (объем БД порядка 30 ГБ) не удается нормально закрыть склад. Процедура закрытия склада была модифицирована нами около года назад и все это время работала без ошибок. Часть процедуры закрытия (точнее пересчета) выполняется одновременно с работой пользователей в ночное время (нагрузка минимальна). Последний месяц AOS вырубает клиента, закрывающего склад по 110, 117 ошибкам. Ни процедура закрытия, ни оборудование не менялось! Самое интересное, что мы провели эксперимент: на ТОЙ-ЖЕ самой машине, где работает основной AOS запустили второй экземпляр AOS и настроили его на копию реальной БД и процедура закрытия в таком "Монопольном" режиме отработала нормально! Складывается ощущение, что в самом AOS зашита какая-то константа по ограничению количества операций и AOS при превышении данного значения отрубает самого "тяжелого" клиента. А если это так, то наращивать производительность оборудования не имеет смысла. Если кто-то сможет прокомментировать данную ситуацию - огромное спасибо. |
|
01.08.2005, 17:55 | #2 |
Участник
|
PS: Количество записей в InventTrans за закрываемый период (месяц) около 157000
|
|
01.08.2005, 18:11 | #3 |
----------------
|
А в "монопольном" режиме работала таже модифицированная процедура?
|
|
01.08.2005, 18:14 | #4 |
Участник
|
В обоих случаях работала одна и та-же (модифицированная) процедура
|
|
01.08.2005, 18:28 | #5 |
----------------
|
У нас была проблема в том, что на некоторой номенклатуре алгоритм закрытия давал ошибку, после чего сеанс тихо сам собой закрывался. Может у вас не очень корректно стоит try catch и на каком-нибудь deadLock-е транзакция просто срубается?
|
|
02.08.2005, 09:33 | #6 |
Участник
|
Нет, deadlock тут не причем.
В начале процедуры закрытия у нас происходит расчет уровня вхождения номенклатуры в спецификации (BomLevel). Так как эта процедура не является критичной с точки зрения целостности данных и ее можно запустить повторно в случае сбоя, она выполняется вообще БЕЗ транзакции. Расчет уровней длится порядка 6 часов. Так вот AOS вырубает клиента во время выполнения этой процедуры (ближе к концу, ну часов через 5). Wamr, а какой у Вас объем данных за месяц (записей в InventTrans) и версия Axapta? |
|
02.08.2005, 10:45 | #7 |
----------------
|
Я не помню точные цифры, количество транзакций были сопоставимо с вашим.
Делалось на Ax2.5SP1 и на Ax3.0sp3 - результат одинаковый - если после длительной работы возникала ошибка, то Аксапта просто закрывалась. А не может ваш АОС просто по таймауту срубать сеанс, считая его неактивным? |
|
02.08.2005, 10:48 | #8 |
Участник
|
Если Вы имеете ввиду параметры AOS / клиента, то таймаут не стоит (Leave Runnig when Idle = бесконечное ожидание).
|
|