Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Супермаг Плюс (Супермаг 2000)

Супермаг тормозит на функции supermag.core.NewSession : Супермаг Плюс (Супермаг 2000)

23.04.2024 15:38


04.12.2013 09:12
mighty
 
Цитата:
OlegON Супермаг открывает несколько сессий, какую ты трассируешь?
Все три до момента открытия вкладки "Цены", потом запоминаю размеры трэйсов и открываю вкладку "Цены". Изменился размер только одного трэйсфайла, его и приложил.
Короче, путем логгирования действий функции NewSession выяснил, что тормоза возникают на процедуре INITCONTROLLERCHANNEL, которая вызывается из процедуры CLIENTSESSIONPROLOGUE, которая в свую очередь вызывается из процедуры NewSession.
В процедуре INITCONTROLLERCHANNEL всего пара операторов
Регистрация канала сообщений
DBMS_ALERT.REGISTER();
и выделение пользовательской блокировки:
DBMS_LOCK.ALLOCATE_UNIQUE();
На чем тормозит проверю позже. Но подозрение именно на DBMS_ALERT.REGISTER();
04.12.2013 09:22
OlegON
 
Ты уже близок к ключу :)
04.12.2013 09:31
mighty
 
Убрать торможение можно как я понимаю двумя способами:
1) Выяснить причину торможения и исправить на уровне СУБД. (не факт что торможение исчезнет совсем и при этом все таки останется двойной вызов процедуры NewSession)
2) Не выясняя причин, понять логику вызова процедуры NewSession и исправить её так, чтобы в рабочей сессии она не выполнялась(при этом торможение исчезнет на 100% и двойной вызов процедуры не будет ни на что влиять, но при этом изменится ядро СМ, что влечет за собой известные последствия с неадекватной оценкой)
Вот сижу, думаю...
04.12.2013 09:50
OlegON
 
Чтобы найти реальную причину, надо, конечно, копать на месте. Но я по прежнему голосую за плохую работу хоста с сервером лицензий и ключом или его плохой связи с базой. Найдешь, в чем действительно было дело - скажи, очень интересно.
04.12.2013 09:52
Mtirt
 
А нельзя для экспериментов сервер лицензий и ключ переставить на другую машину? В той базе, в которой тормоза...
04.12.2013 10:12
mighty
 
Цитата:
Mtirt А нельзя для экспериментов сервер лицензий и ключ переставить на другую машину? В той базе, в которой тормоза...
Тань тут вопрос то не только в тормозах.
1) В регионе №1 на всех серверах и клиентах СМ при заходе на вкладку "ЦЕНЫ" два раза исполняется процедура NewSession(в регионе №2 на всех серверах и клиентах эта процедура либо не исполняется, либо не ловится отладчиком)
2) В регионе №1
-на 70% серверов данная процедура не тормозит (время срабатывания около 0,3 секунды),
-на 25% серверов она работает около 2-3 секунд, что вызывает торможение при открытии на 3*2=6 секунд,
-на 5% серверов она работает около 5-7 секунд, что вызывает торможение при открытии на 7*2=15 секунд.

Я работаю на сервере офиса. На нем максимальная нагрузка. Сервер офиса состоит из связки:
Сервер Oracle 10.2.0.4 (Open SUSe)+Системный блок с установленной Windows XP (USB ключ+Сервер Супермаг 1.026.5 sp3+Почтовый модуль)

Ты предлагаешь взять системник поднять на нем винду, установить сервер СМ и перевести работу на него? Я думаю ничего абсолютно не изменится. Двойной вызов NewSession же во всем регионе на всех серверах. Причем связки есть разные SUSE+VirtualBox(WindowsXP+СМ Сервер), SUSE+отдельный системный блок с (WindowsXP+СМ Сервер). И везде двойной вызов.

Я сначала думал это из-за операционной системы, потому что в регионе №2 почти все сервера СМ стоят на Windows 2003 Server. Но мне умудрились там найти и магазин с Windows XP + SUSE, и там NewSession НЕ ВЫЗЫВАЕТСЯ.
04.12.2013 10:24
Mtirt
 
А можно подробнее про регионы? Они ничем не отличаются? В правах пользователей нет ограничений по контрагентам или местам хранения для этих регионов?
04.12.2013 10:34
mighty
 
Цитата:
Mtirt А можно подробнее про регионы? Они ничем не отличаются? В правах пользователей нет ограничений по контрагентам или местам хранения для этих регионов?
По контрагентам ограничений нет в обоих регионах.
По местам хранения ограничения есть в регионе №2, но только у операторов магазинов (это регион, в котором нет двойного запуска NewSession). Но я тестирую запросы под полными правами (пользователь ADMIN, которому можно все) и они идентичны для обоих регионов (никаких ограничений нет).
В остальном регионы друг от друга не отличаются. То есть настройки Административного модуля одинаковые(за исключением флагов выгрузки кассового модуля, о чем я говорил ранее).
04.12.2013 10:50
OlegON
 
Кстати, да, проверки в должности? Но они при открывании раздела не должны срабатывать...
04.12.2013 11:17
mighty
 
Проверки срабатывают после NewSession:
Supermag.Office.CanUseFunction2 - вот они.
В обоих регионах эти проверки срабатывают но время исполнения их мало. Сейчас жду когда офис мне базу освободит, узнаю на чем конкретно тормозит. Напишу.
Часовой пояс GMT +3, время: 15:38.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.