AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.10.2008, 17:22   #1  
axbegin is offline
axbegin
Участник
 
14 / 10 (1) +
Регистрация: 16.06.2008
Анализ производительности при работе с Oracle
А кто-нибудь пробовал оптимизировать производительность операций Axapta используя файлы трассировки Oracle?

Вот здесь http://expl0rer.wordpress.com/2008/09/30/ax_ora_trace/ я нашел методику, которая позволяет получить трейс файл, но открытым остается вопрос его обработки. Данных там много и найти узкие места затруднительно. Может у кого-то есть готовые скрипты, анализирующие эти файлы и наглядно отображающие проблемы?
Старый 20.10.2008, 17:58   #2  
Alexius is offline
Alexius
Участник
Аватар для Alexius
 
461 / 248 (9) ++++++
Регистрация: 13.12.2001
Потянуло на поиски "философского булыжника" ?
Старый 20.10.2008, 21:02   #3  
online
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
На sql.ru где-то были ссылки на разбор этого файла.
Насколько я понимаю он нормально не документирован и там автором была попытка представить свою версию как правильно данные в нем понимать.
Старый 20.10.2008, 23:05   #4  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
Есть очень неплохая книга "Oracle оптимизация производительности". Если Вы в самом деле занялись поиском "филосовского булыжника" то читать обязательно. Даже если не занялись, то все равно читать обязательно, но главы с техническими подробносятми можно пропустить

http://www.ozon.ru/context/detail/id/2512023/

Авторы книги являются по совместительству и авторами одной из версий искомого "булыжника". Сайт http://www.hotsos.com/ И хотя одной их основных целей написания книги несомненно были реклама своей компании и своего волшебного средства от тормозов оракловых систем, но это ничуть не уменьшает ценность изложенного в ней материала
Старый 21.10.2008, 10:33   #5  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Есть специальная Оракловая утилита для представления содержимого трэйс файлов в "удобоваримом" виде. В документации по Оракл подробно описана.
Называется TKProf
__________________
Zhirenkov Vitaly
Старый 21.10.2008, 11:21   #6  
axbegin is offline
axbegin
Участник
 
14 / 10 (1) +
Регистрация: 16.06.2008
Цитата:
Есть специальная Оракловая утилита для представления содержимого трэйс файлов в "удобоваримом" виде. В документации по Оракл подробно описана.
Если бы ты внимательно почитал мое сообщение, то увидел бы, что по приведенной ссылке tkprof упоминается. Вопрос не в том, чтобы получить текстовый файл, а в том, как быстро найти в этом текстовом файле узкие места.
Старый 21.10.2008, 11:32   #7  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от axbegin Посмотреть сообщение
Если бы ты внимательно почитал мое сообщение, то увидел бы, что по приведенной ссылке tkprof упоминается. Вопрос не в том, чтобы получить текстовый файл, а в том, как быстро найти в этом текстовом файле узкие места.
Если бы ВЫ внимательно прочитали документацию в приведённой мною ссылке (в частности про параметры, имеющиеся у данной утилиты) то ВАШ вопрос был бы снят.
__________________
Zhirenkov Vitaly
Старый 21.10.2008, 11:44   #8  
axbegin is offline
axbegin
Участник
 
14 / 10 (1) +
Регистрация: 16.06.2008
На форумах принято общение на ТЫ, за исключением случаев, когда хочется задеть собеседника, поэтому я продолжу в том же духе

Так вот, про параметр sort я знаю, но я не готов назвать параметр, по которому нужно фильтровать запросы, дабы получить узкие места моей системы. Ты знаешь такой параметр?

Мне бы хотелось скорее некий скрипт, который на основе этого файла сгенерит набор графиков - по которым я уже смогу что-то сказать.
Старый 21.10.2008, 11:59   #9  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от axbegin Посмотреть сообщение
На форумах принято общение на ТЫ, за исключением случаев, когда хочется задеть собеседника, поэтому я продолжу в том же духе

Так вот, про параметр sort я знаю, но я не готов назвать параметр, по которому нужно фильтровать запросы, дабы получить узкие места моей системы. Ты знаешь такой параметр?

Мне бы хотелось скорее некий скрипт, который на основе этого файла сгенерит набор графиков - по которым я уже смогу что-то сказать.
Насчёт "ты" - почитайте этот форум побольше и поймёте, что здесь так не принято. (Хотя я и не исключаю, что на других форумах это может считаться нормой)
А лезть в чужой монастырь... ну как говорится, вы поняли

Какие использовать параметры? В зависимоти от того, с чем у вас проблемы, я вашей системы не знаю. Обычно проблемы - это ЦПУ и физические чтения, но вам должно быть известнее от чего страдает конкретно ваша система.
Либо как вариант поместить результаты в таблицу (см. "TKPROF_TABLE") и используя различные сортировки искать проблемы.

"некоего скрипт, который на основе этого файла сгенерит набор графиков" скорее всего не существует, по крайней мере я о нём ничего не слышал.
__________________
Zhirenkov Vitaly
Старый 21.10.2008, 12:00   #10  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от axbegin Посмотреть сообщение
На форумах принято общение на ТЫ, за исключением случаев, когда хочется задеть собеседника, поэтому я продолжу в том же духе
Оффтоп вкл
Не знаю, как на других форумах, которые Вы посищаете, но на этом форуме люди обращаются друг-к-другу на Вы из уважения к собеседнику.
На Ты общаются здесь только с теми, кого долго знают, в том числе чаще всего лично знакомы.
Старый 22.10.2008, 22:21   #11  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Если нужны именно красивые графики - смотри в сторону AWR (Automatic Workload Repository). Судя по твоим вопросам он тебе больше подходит, а у trace-файлов предназначение несколько иное.

Вот только AWR появился в 10g, кажется. А может и в 9-ке был - уже не помню.
За это сообщение автора поблагодарили: axbegin (1).
Старый 23.10.2008, 10:39   #12  
axbegin is offline
axbegin
Участник
 
14 / 10 (1) +
Регистрация: 16.06.2008
А можно поподробнее про эту штуку и как она мне может помочь ?
Старый 23.10.2008, 18:55   #13  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от Андре Посмотреть сообщение
Если нужны именно красивые графики - смотри в сторону AWR (Automatic Workload Repository). Судя по твоим вопросам он тебе больше подходит, а у trace-файлов предназначение несколько иное.

Вот только AWR появился в 10g, кажется. А может и в 9-ке был - уже не помню.
Да, появилось это только в 10-ке.

Цитата:
А можно поподробнее про эту штуку и как она мне может помочь ?
Поподробнее - это очень долго. Лучше всего обратиться таки к документации.
Если в 2-х словах, то это встроенный тул оракловый который собирает статистику по производительности оракла и "даёт" рекомендации по его настройке и оптимизации.
Всё это в 10-ке сделано более менее автоматически, без необходимости сильно глубоких знаний, настроек и с более-менее юзер-френдли интерфейсом в лице Enterprise Manager-a.

Подробности смотрите тут:
AWR & ADDM
Или лучше даже начать вот отсюда: Для начинающих
__________________
Zhirenkov Vitaly
За это сообщение автора поблагодарили: axbegin (1).
Старый 23.10.2008, 22:57   #14  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Ну, на первом этапе проще это воспринимать как набор, внутренних по отношению в Oracle, счетчиков (perfomance counters). Чтобы понять нужная ли это вам тулза - поищите в google скриншоты - думаю станет более - меннее понятно.

Ссылки на официальную документацию вам дал ZVV. Согласен, что читать много, но в общем то, вся документация Oracle страдает некоторой монструозностью. А точнее говоря, не хватает документов в стиле Quick Start.

Ну, если коротко, то так:

1. Устанавливаем параметр STATISTICS_LEVEL в значение TYPICAL. Хотя, кажется он по умоланию такой. Но лучше проверить:

X++:
 select statistics_name, activation_level from v$statistics_level;
2. Собственно результатом работы этой тулзы являются две сущности - AWR Snapshots и In-memory statistics.

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

Автоматически - это как то так:

X++:
SQL> BEGIN
  2  dbms_workload_repository.modify_snapshot_settings (
  3   retention => 21600,
  4   interval => 30);
  5  END;
SQL> /
PL/SQL procedure successfully completed.

SQL> SELECT * from dba_hist_wr_control;
Я не разжовываю параметры - их все в документации найти можно.

Ручками - это так:

X++:
SQL> SELECT sys.dbms_workload_repository.create_snapshot() FROM  dual;

SYS.DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT()
----------------------------------------------
                                           453

SQL> SELECT snap_id id, begin_interval_time,
  2         end_interval_time
  3  FROM   dba_hist_snapshot
  4  WHERE snap_id > 450
SQL> /

 ID BEGIN_INTERVAL_TIME       END_INTERVAL_TIME
--- ------------------------- -------------------------
451 ....
452 ....
453 ....

SQL> EXEC dbms_workload_repository.drop_snapshot_range -
 >    (200,250);

SQL> BEGIN
  2  dbms_workload_repository.create_baseline (
  3   start_snap_id => 426,
  4   end_snap_id => 435,
  5   baseline_name => 'ONLINE PEAK');
  6  END;
  7  /
PL/SQL procedure successfully completed.

SQL> SELECT baseline_name, start_snap_time, end_snap_time FROM dba_hist_baseline;
SQL> EXEC dbms_workload_repository.drop_baseline -
 >        ('ONLINE PEAK');
Собранные данные можно посмотреть во view V$*Metric* и DBA_HIST_* но их там слишком много и я в них не разбирался - смотрю с помощью Enterprise Manager. Кстати, если кто-то посоветует альтернативную тулзу для визуализации собранных данных - буду благодарен.

Еще есть Automatic Database Diagnostic Monitor, как правильно заметил ZVV, который на основе собранных данных пытается давать советы, но с ним я не очень разбирался. Часть советов показались мне банальными и очевидными, а часть спорными и сомнительными

Опять же проще работать через EM; если нет возможности - из консоли через системные вьюхи dba_advisor_*.

Ну и самим "советчиком" можно рулить из консоли:

X++:
SQL> SELECT parameter_name, parameter_value
  2 FROM    dba_advisor_def_parameters
  3 WHERE advisor_name = 'ADDM';

SQL> EXEC dbms_advisor.set_default_task_parameter ( -
'ADDM', 'DBIO_EXPECTED', 16000);
PL/SQL procedure successfully completed.
Еще там можно настроить систему alert-ов, чтобы он сигнализировал (кажется, на email), когда какой-либо параметр превышает установленный порог.
За это сообщение автора поблагодарили: ZVV (1), gl00mie (5).
Теги
oracle, performance, документация, производительность

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Связываемые переменные при работе с Oracle axbegin DAX: Программирование 8 04.08.2009 09:42
Анализ производительности tolstjak DAX: Администрирование 4 04.02.2009 16:22
aEremenko: История об установке Microsoft Dynamics Ax 4.0 и Oracle 10G Blog bot DAX Blogs 0 28.10.2006 16:01
Анализ производительности tolstjak DAX: Администрирование 0 31.03.2006 14:25
Как использовать Анализ производительности mau DAX: Администрирование 3 17.12.2003 09:44

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 12:30.