04.06.2015, 13:31 | #1 |
Участник
|
Число сессий в веб-сервисе на AIF
AX2012R3
Создан веб-сервис через AIF. Выделен отдельный АОС, который обрабатывает запросы веб-сервиса. Клиентов больше 100, но все они вызывают его под одним и тем же пользователем АХ. Проблема в том, что на каком-то этапе время отклика веб-сервиса становится очень долгим. Даже самый примитивный метод срабатывает спустя полминуты. При этом: - Нет проблем с памятью или ЦП. - Нет проблем с БД. - Число сессий выделенного пользователя на АОСе всегда равно 10. - В настройках адаптера (binding) максимальное число сессий равно 200. Кажется, что срабатывает какое-то ограничение и новые запросы не выполняются, пока не закончились выполняться предыдущие. Есть ли подобные ограничения? Где их искать? Как их изменить, обойти? |
|
04.06.2015, 13:34 | #2 |
Участник
|
Может просто блокировки идут.
Например при логине идет попытка синхронизации или пересоздания хранимки. Посмотрите какие запросы при этом в базу идут. |
|
04.06.2015, 13:38 | #3 |
Участник
|
Есть другой АОС, Когда запросы одного-двух клиентов перенаправляются туда, то для них всё работает мгновенно. БД, понятно, используется одна и та же.
Последний раз редактировалось Dark Light; 04.06.2015 в 13:46. |
|
04.06.2015, 14:03 | #4 |
Участник
|
Загрузку проца еще проверьте.
Иногда бывает бага когда сессия выжирает все процессорное время и из-за этого логин других сессий идет крайне медленно. Даже по RDP на сервак не войдешь нормально. |
|
04.06.2015, 14:39 | #5 |
Участник
|
Загрузка ЦП не превышает 10%. А обычно трется около 1%.
|
|
04.06.2015, 17:27 | #6 |
Участник
|
Цитата:
|
|
|
За это сообщение автора поблагодарили: Ivanhoe (2). |
05.06.2015, 14:08 | #7 |
Участник
|
Проблема разрешилась.
Все ограничения на сессии стояли на уровне 200 штук. И этот лимит был превышен, т.к. подключения к веб-сервису принудительно не закрывались (теперь закрываются). Т.о. новым подключениям приходилось ждать, когда "отомрут" старые. При этом, это именно сессии подключения к веб-сервису и они никак не связаны с сессиями АХ (которых было 10). Поэтому причину удалось обнаружить только через netstat. Спасибо всем за помощь ) |
|
|
За это сообщение автора поблагодарили: Logger (3), Ivanhoe (2), DSPIC (1). |
05.06.2015, 15:07 | #8 |
Участник
|
А почему они не закрывались ?
Что было не так ? |
|
05.06.2015, 15:10 | #9 |
Участник
|
Ну как, это ж типа оптимизация: вдруг клиент еще что-нить спросить захочет, придется заново соединение устанавливать, аутентифицироваться, все дела, а тут - готовое соединение висит "на низком старте".
|
|
05.06.2015, 16:37 | #10 |
Участник
|
Так обычно таймаут есть неравный бесконечности.
Или он был слишком большой. |
|
09.06.2015, 15:09 | #11 |
Участник
|
Я считал, что когда класс, вызывающий веб-сервис, перестает существовать, то с ним перестает существовать и соединение. Поэтому и не заморачивался с их явным закрытием. А это оказалось не так.
Да, был довольно большой. А частота запросов была очень высокой - не успевали закрываться по таймауту. Поэтому и на тестировании эта проблема не всплыла - было мало запросов. |
|
|
За это сообщение автора поблагодарили: Logger (3). |
09.06.2015, 15:36 | #12 |
Участник
|
Была такая же проблема. Насколько я помню, парамеры Throttling на это тоже влияют.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
|
За это сообщение автора поблагодарили: DSPIC (1), Dark Light (1). |
Теги |
aif, веб-сервис |
|
|