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

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

25.04.2024 20:19


02.12.2013 17:11
mighty
 
Добрый день всем.
Кто нибудь знает в каком случае СМ выполняет функцию supermag.core.NewSession?

Версия СМ 1026.3 sp5.
Oracle 10.2.0.4 под линуксом.

Проблема возникла вот в чем. Есть два региона, в обоих одинаковая версия СМ, оракла. Офис в регионе №1 стал жаловаться на то что СМ "тормозит". Стал опрашивать, оказалось когда в карточках товаров щелкают по закладке "Цены" СМ подвисает на 10 секунд примерно.
Оттрассировал момент перехода на вкладку "цены":
Код:
Connection::Open "ConnectionString = 'Provider=MSDAORA;Data Source=CENTRAL_OFFICE;User ID=admin;Password=XXXX;OLE DB Services=-2;'
Command::Set_CommandText	 Text = 'supermag.core.NewSession'
Command::Execute
Command::Set_CommandText "Text = 'select TMain.ID,TMain.Name,TMain.CurrType,TMain.ShortName,TMain.RoundRule,TMain.FormatID,TMain.WithDue from Supermag.SVPriceTypes TMain
where TMain.ID=?'"
Connection::Open "ConnectionString = 'Provider=MSDAORA;Data Source=CENTRAL_OFFICE;User ID=admin;Password=XXXX;OLE DB Services=-2;'
Command::Set_CommandText Text = 'supermag.core.NewSession'
Command::Execute
Command::Set_CommandText "Text = 'select TMain.ID,TMain.Name,TMain.CurrType,TMain.ShortName,TMain.RoundRule,TMain.FormatID,TMain.WithDue from Supermag.SVPriceTypes TMain
where TMain.ID=?'"
Command::Execute
Command::Set_CommandTextText = 'Supermag.Office.CanUseFunction2'
 ............
Зависания по 6 секунд происходят именно на функциях (2 раза)
Код:
Command::Set_CommandText Text = 'supermag.core.NewSession'
Command::Execute
Потом попробовал сделать трассировку на другой базе(базе магазина этого же региона №1). Трассировка точно такая же но задержки на supermag.core.NewSession по секунде-полторы.
Вот она:
Код:
Connection::Open "ConnectionString = 'Provider=MSDAORA;Data Source=VLIG3759;User ID=admin;Password=XXXX;OLE DB Services=-2;'
Command::Set_CommandText	 Text = 'supermag.core.NewSession'
Command::Execute
Command::Set_CommandText "Text = 'select TMain.ID,TMain.Name,TMain.CurrType,TMain.ShortName,TMain.RoundRule,TMain.FormatID,TMain.WithDue from Supermag.SVPriceTypes TMain
where TMain.ID=?'"
Connection::Open "ConnectionString = 'Provider=MSDAORA;Data Source=VLIG3759;User ID=admin;Password=XXXX;OLE DB Services=-2;'
Command::Set_CommandText Text = 'supermag.core.NewSession'
Command::Execute
Command::Set_CommandText "Text = 'select TMain.ID,TMain.Name,TMain.CurrType,TMain.ShortName,TMain.RoundRule,TMain.FormatID,TMain.WithDue from Supermag.SVPriceTypes TMain
where TMain.ID=?'"
Command::Execute
Command::Set_CommandTextText = 'Supermag.Office.CanUseFunction2'
 ............
Затем подключился к офису региона №2 и там трассировка выглядит так:
Код:
Command::Set_CommandTextText = 'Supermag.Office.CanUseFunction2'
 ............
то есть выполнения supermag.core.NewSession нет вообще!
не поверил глазам своим, подключился к магазину региона №2, и там получил такую же трассировку:
Код:
Command::Set_CommandTextText = 'Supermag.Office.CanUseFunction2'
 ............
то есть без supermag.core.NewSession!

Подскажите куда копать, ничего уже не понимаю...все одинаково вроде, а супермаг разные запросы посылает.
От чего вообще зависит исполнение функции supermag.core.NewSession??
Никто не разбирался?
02.12.2013 17:41
whitewizard
 
В обоих базах супермаг подключается напрямую, без сервера приложений?
02.12.2013 17:42
OlegON
 
Трассировка была всех сессий? У супермага какой-то кривой пул соединений, он открывает штук шесть на юзера свободно, причем, регистрит себя во всех.
Тормоза при переключении разделов, как правило, связаны с плохой работой сервера лицензий, в смысле машины, где он работает. IPv6, другие ненужные протоколы, стенки, мусор и т.п. сними...
Да, сервер лицензий обязательно должен быть DEDICATED.
02.12.2013 17:43
whitewizard
 
И сервер приложений на чём стоит?
02.12.2013 17:49
mighty
 
>В обоих базах супермаг подключается напрямую, без сервера приложений?
Без, соединение прямое
>И сервер приложений на чём стоит?
На Win XP SP3(регион №1) и Win2003 server(регион №2)
Хм...надо поробовать на 2003 переставить. Попробую спасибо.

>Трассировка была всех сессий?
Трассировка только моей сессии(FlexTracker)

>сервер лицензий обязательно должен быть DEDICATED
Ты имеешь ввиду сервер Оракла?

Сейчас оттрассировал вообще подключение открытие карточек товаров в СМ в регионе№1 - зависания открытия классификатора карточек до 14 секунд. Связано именно с двойным выполнением процедуры supermag.core.NewSession.
02.12.2013 17:52
OlegON
 
Цитата:
mighty >Трассировка была всех сессий?
Трассировка только моей сессии(FlexTracker)

>сервер лицензий обязательно должен быть DEDICATED
Ты имеешь ввиду сервер Оракла?
Тогда мог и пропустить сессию...
Дедик - имею ввиду подключение от сервера лицензий к базе.
02.12.2013 17:58
mighty
 
Цитата:
OlegON Дедик - имею ввиду подключение от сервера лицензий к базе.
А где это посмотреть Олег?
02.12.2013 18:00
OlegON
 
Код:
select distinct server,machine from v$session;
для машины с сервером лицензий должен быть DEDICATED, а не SHARED или NONE.
02.12.2013 18:02
whitewizard
 
это прописывается в TNSNAME.ORA, например
02.12.2013 18:03
mighty
 
Абсолютно все сессии DEDICATE, в том числе и сессия сервера лицензий.
Часовой пояс GMT +3, время: 20:19.

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