Текущее время: Сб, авг 02 2025, 22:14

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


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


ВНИМАНИЕ! Прежде чем задавать вопрос, ознакомьтесь со ссылками ниже:

Вопросы по отличиям версий SAP, Add-On, EHP - сюда
Вопросы по SAP Front End (SAPlogon, SAPgui, guiXT и т.д.) - сюда
Вопросы по LSMW - сюда
Вопросы по архивации в SAP - сюда
Вопросы по SAP GRC - сюда
Вопросы по SAP Business Workplace (почте SAP) и SAP Office - сюда
Вопросы по miniSAP (SAP mini basis) - сюда
Вопросы по SAP HANA - сюда
Вопросы по лицензированию продуктов SAP - сюда



Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Проблема с производительностью.
СообщениеДобавлено: Вт, июл 25 2006, 11:14 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, ноя 21 2005, 15:25
Сообщения: 122
Откуда: Москва
Коллеги, есть слабенький сервер, санфайр 240, с 2-мя процессорами по 1.5ГГц, 8Гб памяти. я всё понимаю, слабое железо. фиг с ним.
на нём в данный момент считается з/п на 6000 человек за май (1 мес.)
считается в ERP 2004 SR1

в джобах висит процесс. уже 3,5 часа. я пытаюсь понять - где тормоза (кроме железа, это и так ясно)

по top'у загрузка только у ворк-процесса - 49.88% disp+work, оракл при этом не загружен 0.34% oracle (иногда конечно до 2..4% прыгает)

в логах трейсов (st05) есть операции (FETCH, REEXEC например) по 8..15 сек. суммарно набегает порядочно.

в логах st01 (только на SQL включал) - инфы побольше, но не очень понятно, какая операция. времена есть большие. от 8 до 200 сек - я не очень понимаю что это за операции такие. как это определить? можно провалиться в абап, но там рядовые селекты.. я склоняюсь к тому, что это FETCH (не могу нигде найти, что SAP понимает под FETCH) так долго выполняется. можно как то ускорить это дело??? соптимизировать?

вопрос то у меня простой :) - что ж это воркпроцесс так нагружен, а БД нет? прочесть бы гденть, как оно работает... такое впечатоение (не претендую на правильность) - что оракл быстренько всё выбрал, отдал апликейшену, а тот начинает в свои НЕ оракловые таблички как то косо распихивать. как на самом деле??


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 25 2006, 11:38 
Президент
Президент

Зарегистрирован:
Вт, авг 17 2004, 08:17
Сообщения: 3150
Откуда: В ВЕЧНОМ БАНЕ
Для начала можешь в SCI посмотреть


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 25 2006, 12:16 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, ноя 21 2005, 15:25
Сообщения: 122
Откуда: Москва
№1 написал(а):
Для начала можешь в SCI посмотреть


посмотрел.. саповские проги непогрешимы :)
не даёт проверить HRUCALC0. в набор не добавляется.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 25 2006, 12:26 
Президент
Президент

Зарегистрирован:
Вт, авг 17 2004, 08:17
Сообщения: 3150
Откуда: В ВЕЧНОМ БАНЕ
Можно попробовать скореллировать длительные FETCH по таблицам с информацией в ST04 по тем же таблицам и посмотреть из-за чего операция с базой подвисает: возможно с индексами или статистикой проблемы...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 25 2006, 14:14 
Гость
Как правило, запросы из САПа в оракл идут не очень сложные.

По производительности ST02, ST04 - по минимуму "красноты". Особое внимание - экстендед мемори. Ораклу главное, чтобы кволити в буф. кэше и шаредпуле было не ниже 98%. Остальное практически по барабану.

Далее, надобно смотреть. Если хочется пооперативнее - ST04 -> Detail analysis menu -> Oracle sessions (покажет примитивные САПовкие запросы в Оракл) и SAP client (Кстати на него ноту надо накатывать - может и не работать).

Обычно делаю SM50 + F8(refresh) - практически сразу видно кривизну, табличку к которой обращается запрос(ы), съеденное процессорное время, автора и т.д.

PS Я обычно просто беру этот оракловый запрос(как его посмотреть см. выше) и работаю с ним. Например, как вариант делаю индекс :D и регистрирую стандартным способом.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 25 2006, 14:51 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, ноя 21 2005, 15:25
Сообщения: 122
Откуда: Москва
Victor написал(а):
Как правило, запросы из САПа в оракл идут не очень сложные.

По производительности ST02, ST04 - по минимуму "красноты". Особое внимание - экстендед мемори. Ораклу главное, чтобы кволити в буф. кэше и шаредпуле было не ниже 98%. Остальное практически по барабану.

Далее, надобно смотреть. Если хочется пооперативнее - ST04 -> Detail analysis menu -> Oracle sessions (покажет примитивные САПовкие запросы в Оракл) и SAP client (Кстати на него ноту надо накатывать - может и не работать).

Обычно делаю SM50 + F8(refresh) - практически сразу видно кривизну, табличку к которой обращается запрос(ы), съеденное процессорное время, автора и т.д.

PS Я обычно просто беру этот оракловый запрос(как его посмотреть см. выше) и работаю с ним. Например, как вариант делаю индекс :D и регистрирую стандартным способом.


в sm50 табличку не рисует.. как не жми рефреш. отчёт (в sm50) называется SAPLHRPL хотя в джобе запускался HRUCALC0. никакого криминала на сапнете по ним не нашёл. при трейсе sql - есть много табличек - время операций с которыми огромное. до 96 сек. например PCL2. и вообще нет индекса. как такая кривизна могла пролезть??

все кволити у меня по 99.8%. оракл НЕ грузит проц. какие то доли процента.. а вот ворк-процесс саповский - 49.80% disp+work. что он такое делает уже 8 часов? при этом расчиталось всего 500 или 600 сотрудников :))).
я не верю что железо (типа мощное) даст какой то дикий прирост производительности... это какая то кривизна с алгоритмом...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 25 2006, 19:52 
Гость
Цитата:
в sm50 табличку не рисует.. как не жми рефреш. отчёт (в sm50)
не знаю, у меня гуй 620-ый все рисует и в R/3 и в BW. Должно быть примерно так (... x00-клиент ФИО Последов. считывание(значится на синглриде - по индексу тоесть, или "Прямое считывание" - понятно, что директскан) VBRP(типа табличка/объект))
Но спорить не буду.
Тогда просто SM66 - если сессия в активе - покажет.

Вообще не плохо было бы уточнить тип системы. Это R3/BW?
Судя по SAPLHRPL - это HR Payroll Protokollie, стало быть R/3???
Видимо немного кастомизировали, это скорее всего к разработчикам.
Надо изучать проблему более подробно. :shock:


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 26 2006, 08:26 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, сен 10 2004, 09:58
Сообщения: 252
Рассуждаем логически:
1. Процессора хватает (даже до 50% не дотягивает).
2. Красноты нет в ST02?
3. Если нет, тогда смотрим на частоту swap в ST06.
4. Если там все неплохо, то проблема на уровне Oracle. Большое время выборки: либо диски слабы, либо запросы не оптимизированы:
5. Диски - опять в ST06. Загрузка менее 100% и очереди нет?
6. Тогда смотрим на запросы: либо оптимизатор ошибается (старая статистика), либо сами запросы в программе написаны плохо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 26 2006, 17:31 
Гость
Согласен с PK6, но на статистике если она хоть раз в месяц собирается много не выиграть. Нужно проверять код. Типичная для САПа ситуация, когда запрос идет по индексу, вроде все верно. Но.... Индекс некий пикей из 10-ка столбцов, а в запросе в WHERE 2-3 из них, а может есть 4-ый которого вАпче нету в этом PK . Это просто "НАПРИМЕР".

Значится делаем индекс по тем столбцам, которые нам интересны. Ес-но проверяем на тестовой системе и смотрим на скорость. Если эффект есть - транспорт в продуктив.

Подобный анализ и оптимизация - это долгая и кропотливая работа.

PS ИМХО А "по хорошему" серьезную проверку системы надо начинать сначала. Например, с количества симафоров в /etc/system :lol:


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 27 2006, 09:43 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, ноя 21 2005, 15:25
Сообщения: 122
Откуда: Москва
Victor написал(а):
Согласен с PK6, но на статистике если она хоть раз в месяц собирается много не выиграть. Нужно проверять код. Типичная для САПа ситуация, когда запрос идет по индексу, вроде все верно. Но.... Индекс некий пикей из 10-ка столбцов, а в запросе в WHERE 2-3 из них, а может есть 4-ый которого вАпче нету в этом PK . Это просто "НАПРИМЕР".

Значится делаем индекс по тем столбцам, которые нам интересны. Ес-но проверяем на тестовой системе и смотрим на скорость. Если эффект есть - транспорт в продуктив.

Подобный анализ и оптимизация - это долгая и кропотливая работа.

PS ИМХО А "по хорошему" серьезную проверку системы надо начинать сначала. Например, с количества симафоров в /etc/system :lol:


в общем кое как решилось.

1. убрал "красноту" :) в st02 - хоть и не очень критично. мало её.
2. добавил пару индексов к паре таблиц - тут канечно полный кавардак. даже странно что их постоянно не хватает. фигня какая то.. :(. насчот запросов и составных индексов полностью согласен с Victor.
3. но глобально всё решилось рачётом пачками по 200..300 табельных номеров. вот тут как говорится карта пошла :)) память сосёт со страшной силой расчёт этот. где то на 200-ом табельном - уже 2.5 гига жрёт процесс - дальше - хуже. потом начинает свопить. потом уже вообще в час по чайной ложке...
4. запуск параллельно двух расчётов - система загрузила оба проца на 100%, а до этого только 1.

да, система какая - в первом посте я описал. все /etc/system, размеры свопа, etc - из инсталл гайда.

в общем проблема можно сказать решена, всем спасибо за советы.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 27 2006, 10:49 
Гость
Стоп! :shock:

Сегодня считаем зряплату :lol:

А проблема то известная! Сорри, сразу как то не разобрался!

Последовательность должна была быть такой.

1. SE38 - > Свойства (продукт от SAP), т.е. это просто некая настраиваемая байда мейд ин Воллдорф и значится местные умельцы вринципе нипричем.

2. SM50 - смотрим SPID(серверный пид)

3. ST04 - > Det analysys menu - > Oracle sessions Нету там ничего ораклового!

Это впринципе НЕ ОРАКЛ, а САП(АБАП) :!:
Т.о. орАкла тут вообще нипричем! Вот прямо сейчас вижу перед собой целую кучу "SAPLHRPL". Даже делаю "напрямую"

--PID & SID
SELECT s.sid, s.serial#, p.pid, p.spid "Server PID", s.user#, s.username, s.osuser,
s.status, s.lockwait, s.terminal, s.program, s.logon_time
FROM v$session s, v$process p
WHERE s.paddr = p.addr
--and p.spid in (16067, 16001, 16243)
and p.spid = 2513
ORDER BY 4;

Ну нету таких SPID-ов в оракле! Это "Чиста АБАП"!

Тут тока либо действительно пачками(кстати, надо будет попробовать),
либо количеством процессоров. И никак иначе. Это "Родное приложение" его и при горячем желании не улучшить. :lol:


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 27 2006, 10:50 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 14:04
Сообщения: 328
Откуда: MO/Korolev
ðàçäåëÿé è âëàñòâóé! :lol:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 27 2006, 11:07 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, ноя 21 2005, 15:25
Сообщения: 122
Откуда: Москва
Victor написал(а):
Стоп! :shock:

Сегодня считаем зряплату :lol:

А проблема то известная! Сорри, сразу как то не разобрался!

Последовательность должна была быть такой.

1. SE38 - > Свойства (продукт от SAP), т.е. это просто некая настраиваемая байда мейд ин Воллдорф и значится местные умельцы вринципе нипричем.

2. SM50 - смотрим SPID(серверный пид)

3. ST04 - > Det analysys menu - > Oracle sessions Нету там ничего ораклового!

Это впринципе НЕ ОРАКЛ, а САП(АБАП) :!:
Т.о. орАкла тут вообще нипричем! Вот прямо сейчас вижу перед собой целую кучу "SAPLHRPL". Даже делаю "напрямую"

--PID & SID
SELECT s.sid, s.serial#, p.pid, p.spid "Server PID", s.user#, s.username, s.osuser,
s.status, s.lockwait, s.terminal, s.program, s.logon_time
FROM v$session s, v$process p
WHERE s.paddr = p.addr
--and p.spid in (16067, 16001, 16243)
and p.spid = 2513
ORDER BY 4;

Ну нету таких SPID-ов в оракле! Это "Чиста АБАП"!

Тут тока либо действительно пачками(кстати, надо будет попробовать),
либо количеством процессоров. И никак иначе. Это "Родное приложение" его и при горячем желании не улучшить. :lol:



что не оракл - я ж сразу в первом посте сказал - он НЕ грузил проц вотще.
вопрос вот какой - если есть в табличке (некоей) составной индекс из десятка полей, и есть селект по паре полей входящих в этот индекс - то сап (это же абап, не оракл) юзает этот индекс? или надо свой навешивать?? вот никто не может мне точно ответить... :(


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 27 2006, 11:10 
Специалист
Специалист

Зарегистрирован:
Ср, апр 20 2005, 09:29
Сообщения: 137
Откуда: Киев
А что Вам мешает оттрассировать селект?

_________________
система без базисника должна лежать! © Skif


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 27 2006, 14:05 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вс, окт 17 2004, 14:20
Сообщения: 326
Откуда: Москва
ndm написал(а):
вопрос вот какой - если есть в табличке (некоей) составной индекс из десятка полей, и есть селект по паре полей входящих в этот индекс - то сап (это же абап, не оракл) юзает этот индекс? или надо свой навешивать?? вот никто не может мне точно ответить... :(

abap вообще никаких индексов не использует... А вот используется индекс сервером БД можно посмотреть в плане выполнения запроса в SQL trace (ST05)


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.

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


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

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


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

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