Текущее время: Вс, июл 20 2025, 23:27

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Native SQL тормозит
СообщениеДобавлено: Пн, июл 25 2011, 23:46 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Не совсем ABAP вопрос, но все же. Есть у нас одна программа (report), которая использует native SQL (EXEC SQL... ENDEXEC) и вызывает постоянный геморрой своим жутким торможением. SAP у нас работает на Oracle, а программа эта обновляет MS SQL базу для какого-то странного ПО. Программа в SAP запускается каждые 2 часа, но тормозит до такой степени, что крутится фактически постоянно. Над программой бились поколения консультантов, но особых улучшений не добились, разве что добавили сообщений, чтобы было лучше видно, где программа тормозит. Тормозит она, естественно, там, где делается INSERT и UPDATE в SQL Server. Однако количество записей вроде сравнительно небольшое (100-200 заказов) и количество собственно данных тоже (10-15 полей в 3-4 таблицах).

На SDN информация по native SQL в основном для сценариев, где oн используется в рамках SAP, т.е. не тот случай. Чисто в ABAP коде ничего криминального я не вижу, да и ABAP часть работает быстро. Записи тоже обновляются только те, которые надо, т.е. лишние данные не гоняются. Массовое обновление через native SQL, как я понимаю, невозможно, только по одной записи. Где в таком случае искать резервы для оптимизации?

Пытались выяснить, не тормозит ли что-либо другое (например, сам SQL или сетевой трафик), но все (Базис, сетевики и перец, который SQL заведует) отбрехиваются - мол, проблема не у нас.

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Native SQL тормозит  Тема решена
СообщениеДобавлено: Вт, июл 26 2011, 05:47 
Специалист
Специалист

Зарегистрирован:
Ср, дек 22 2010, 19:49
Сообщения: 114
Раз не совсем ABAP, то, как вариант: выгружать данные в какой-н файл и заливать на SQL Server через BULK INSERT, а дальше INSERT/UPDATE хранимой процедурой.

_________________
Человек готов работать 24 часа в сутки, лишь бы ничего не делать.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Native SQL тормозит
СообщениеДобавлено: Вт, июл 26 2011, 10:03 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, июл 28 2007, 20:38
Сообщения: 364
Есть смысл заглянуть в эту базу MSSQL - возможно на таблицах присутствует много лишних индексов, возможно их можно реорганизовать, оптимизировать размещение, или как вариант к ним идет частое обращение со стороны внешнего ПО - все это будет замедлять INSERT\UPDATE.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Native SQL тормозит
СообщениеДобавлено: Вт, авг 09 2011, 21:48 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Спасибо всем за ответы!

Контора пока наняла консультанта для разборок. Хотя моя личная рекомендация была не тратить время на разборки, а лучше заняться переделкой дизайна (например, как NeMurometz предложил). Если консультант найдет что-нибудь интересное - напишу.

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Native SQL тормозит
СообщениеДобавлено: Ср, авг 10 2011, 11:16 
Менеджер
Менеджер

Зарегистрирован:
Чт, янв 20 2005, 08:34
Сообщения: 573
Пол: Мужской
А если в самой базе MSSQL командами проделать операции INSERT / UPDATE. Они также медленно будут проходить?

_________________
Волю в кулак, мышцы в узду, работай себе и не ахай!


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Native SQL тормозит
СообщениеДобавлено: Сб, окт 22 2011, 13:08 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 02 2009, 22:28
Сообщения: 228
Откуда: MOW
Пол: Мужской
Глупый вопрос - но вы случайно не делаете commit после insert-а каждой строки?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Native SQL тормозит
СообщениеДобавлено: Пн, окт 24 2011, 09:59 
Специалист
Специалист

Зарегистрирован:
Чт, дек 16 2010, 15:23
Сообщения: 133
Откуда: Набережные Челны
Пол: Мужской
При вставке, распределенная транзакция не используется?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Native SQL тормозит
СообщениеДобавлено: Пн, ноя 07 2011, 22:07 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Update. После длительных разборок вроде бы удалось свалить вину на проходимость сети где-то в дебрях между SAP и SQL. Поскольку между SAP сервером и машиной с SQL Server находится туева хуча всяких раутеров/шмаутеров и две сторонних конторы (одна хостит SAP, другая что-то там с сетями делает), дальнейшее расследование тихо замели под ковер и приняли решение переписать интерфейс с Native SQL на что-нибудь пошустрее.

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Native SQL тормозит
СообщениеДобавлено: Вт, июн 11 2013, 10:55 
Специалист
Специалист

Зарегистрирован:
Ср, сен 08 2004, 16:04
Сообщения: 112
Откуда: Ukraine
Пол: Мужской
Добрый день всем.
Хочу опять поднять эту тему.
Свалить на свичи/кабели/сторонние организации у меня не получится.
Может у кого-то есть идея как решить проблему поднятую в этой теме?
У меня подобная проблема.
Есть настроенный линк на внешний Oracle.
Я делаю Insert в таблицу на этом оракле.
Иногда выполняется быстро. А иногда(когда что-то еще выполняется в системе? ) программа подвисает и думает %№% тучу времени. В конце концов программа отрабатывает. Но меня не устраивает выполнение программы в 30 минут :( Думаю, юзера тоже это не устроит :-D

Code:
  do 2 times.

    exec sql.
      INSERT INTO table_name@oracle_link
       ( f1, f2, f3, f4, f5 )
      VALUES ( 1, 1, 1, to_date('2003/05/03 21:02:44', 'yyyy/mm/dd hh24:mi:ss'), 'xxx' )

    endexec.
  enddo.

Ожидаемый результат: 2 записи в таблице.
Ожидаемое время выполнения: мгновенно :)
Реалии: 30 мин.

Есть идеи?
Заранее спасибо.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Native SQL тормозит
СообщениеДобавлено: Вт, июн 11 2013, 22:19 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Мы никакого альтернативного решения не нашли. Понаставили сообщений в программе, чтобы замерить какой шаг сколько выполняется, лишний раз убедились, что да - тормозит обращение к MS SQL. К счастью, при тестировании также обнаружили, что программа передавала туда-сюда кучу ненужной информации, так что удалось добиться улучшения runtime за счет сокращения объема данных. Но в нашем случае не было таких сильных перепадов - программа стабильно работала медленно. Иногда медленнее (что легко можно объяснить общей нагрузкой на системы и сеть), но никак не в разы. Время работы программы было обычно прямо пропорционально количеству записей.

30 минут на 2 записи - это что-то конкретно не того. Базисников и админа БД привлекали?

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Native SQL тормозит
СообщениеДобавлено: Ср, июн 12 2013, 07:35 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
если все настолько ненормально, вероятно причина банальная.
трясите и душите того админа, с их сервером
или каналом что-то не то, с чем именно выяснить просто.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Native SQL тормозит
СообщениеДобавлено: Чт, июн 13 2013, 08:29 
Специалист
Специалист

Зарегистрирован:
Ср, сен 08 2004, 16:04
Сообщения: 112
Откуда: Ukraine
Пол: Мужской
2 Jelena
2 trop
Спасибо за помощь. Получается какой-то затуп на уровне SAPа. Программа висит, но коннекта в конечный Oracle нет. Что-то блокируется в самом SAPе.
Insert через линк через Oracle SAPа в конечный Oracle проходит "на ура". А в это время моя программа висит :(
Может, еще что-то на ум приходит?
Спасибо )


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Native SQL тормозит
СообщениеДобавлено: Чт, июн 13 2013, 13:46 
Директор
Директор

Зарегистрирован:
Вт, ноя 09 2010, 19:59
Сообщения: 792
Откуда: Novosibirsk
Пол: Мужской
недавно апгрейдил NW731 to NW740
напоролся на то, что для доступа к ораклу поменялся механизм доступа
посмотрите ноты
Secure connection of AS ABAP to Oracle via SSFS
SSFS as password storage for primary database connect
Secure connection of AS ABAP to Oracle via SSFS
если кратце...
создается 2 секьюрити хранилища на уровне файловой системы
и не требуется заходить внутрь оракловой базы
одно хранилище возле сап-кернела, второе возле инстанса базы данных

возможно это примерно то, куда стоит покопать...

у меня база локальная, но что-то в нотах было прописано и про коннект не к своей родной базе


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Native SQL тормозит
СообщениеДобавлено: Чт, июн 13 2013, 15:17 
Специалист
Специалист

Зарегистрирован:
Ср, сен 08 2004, 16:04
Сообщения: 112
Откуда: Ukraine
Пол: Мужской
Спасибо за совет
По-моему решил проблему.
Слегка поменял программу, вставил подключение к базе как тут написано.
http://sapboard.ru/forum/viewtopic.php?t=22945&highlight=exec+sql
Там bmonk в деталях описывает как что нужно сделать.
Всё заработало. Еще потестирую. Но уже есть результат. Старый вариант "висит", а новый работает.
Всем спасибо :)

jack_nsk написал:
недавно апгрейдил NW731 to NW740
напоролся на то, что для доступа к ораклу поменялся механизм доступа
...


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


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

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB