Быстродействие

Администрирование баз данных (Pervasive.SQL, MS SQL, Oracle, утилита Support)

Модераторы: m0p3e, edward_K, Модераторы

galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Сообщение galover »

LaaLaa
все что вы пишите к реалиям не имеет никакого отношения, вы пишете о следствии, а я говорю о причине. Как найти bottle neck? Нужен профайлер. Нашли где провисает, дальше думаем как исправить, читаем книги, спрашиваем ЛаЛа как дальше жить. Но вначале нужно найти где провисает! А для этого и нужен профайлер, ссылку на который вы (я очень на это надеюсь) дадите
LaaLaa

Сообщение LaaLaa »

выложите, очень нужен!!!!
Это встроенная функция в отладчике VIP, который открывается прямо в Галактике. Смотрите окно с текстом находящегося под отладкой кода, в тулбаре там кнопки есть: установить точки профилировки, окно результатов профилировки. И читайте документацию F1 в окне отладчика VIP про профилировку там тоже написано.

Свой код вы можете без проблем профилировать.

Тока возьмите AtlExec.exe версии 5.4.21.0 или выше, в профилировщике была была устранена одна критично важная проблема.
LaaLaa

Сообщение LaaLaa »

galover писал(а):LaaLaaНо вначале нужно найти где провисает!
Где повисает, как не прискорбно звучит, всегда определяет пользователь. Определяет его на уровне времени отклика бизнес функции. И нужно эту информацию передать разработчику. А уже разработчик должен детали этой бизнес функции раскладывать по времени.
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Сообщение galover »

давайте по шагам, есть интерфейс в Галактике. Запускаю его. Как получить расклад по времени и кол-ву вызовов функций данного фейса. Т.е. нужно получить что-то (примерно)

Код: Выделить всё

RunInterface - 100 часов 1 вызов
  -> RunAlg100(5, 1) - 2 часа - 1 вызов
     -> CalcSomeVal - 1час - 3 вызова
     -> CalcOtherVal - 1 час - 5 вызовов
Естественно это будет запускаться на клиенте, кто ж спорит. Если есть профилировщик почему ТП никогда не просит прислать его результаты? Это же просто решает все проблемы сразу!
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Сообщение galover »

Где повисает, как не прискорбно звучит, всегда определяет пользователь
100%, кому нужно тот и профилирует
LaaLaa

Сообщение LaaLaa »

Шаги примерно такие:

Шаг1:
Скомпилировать интерфейс с отладочной информацией. Для этого в файле конфигурации компилятора VIP.EXE указать парметры
[Vip]
Debug=1
LocalDebug=1

Шаг2: полученный ресурс подключить к Галактике

Шаг3: В конфигурационном файле Галактики указать параметр активации отладочного режима:
[DEBUG]
EnableVipDebugger=on

Шаг3: Запустить галактику. Нажать сочетание клавиш [Ctrl+Shif+F12]. Откроется окно управления отладчиком.

Шаг4: На закладке загруженные интерфейсы. Найти интересующий интерфейс. Двойной клик мышкой открывает окно отладчика для этого интерфейса с исходным кодом. Если компилировали на той же машине что и запускаем то файл с исходным кодом найдется автоматом, если на другой машине нужно еще перенастроить пути.

Шаг5: В окне исходно го кода расставляем точки профилирования, и т.д. читаем [F1]

ТП это не рекомендует т.к. ресурсы галактики компилируются с выключенной отладочной информацией. И исходные коды в общем то галактика не поставляет. По известным причинам. По этому я говорю о том чтобы базу присылали в отдел разработки.

В можете воспользоваться профилировщиком для для своих доработок.
Последний раз редактировалось LaaLaa 19 окт 2009, 15:20, всего редактировалось 1 раз.
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Сообщение galover »

эээ, ну так неинтересно, речь ведь идет о стандартных компонентах! Да и потом сам код и не нужен (пусть он будет закриптован в ресе), мне нужно получить только функцию и время ее выполнения. Пусть Галактика шифрует полученные данные профилирования и отправляет их на мыло разработчику, такой вариант что не рассматривался?
LaaLaa

Сообщение LaaLaa »

Еще одни момент. Профиллировщик VIP может измерять время работы только построчно и не отделяет время вложенных вызовов.

Хотя такие продукты как AQTime модут мерять
и по функциям (By routines - выдают два числа, собственно время функции Time, и время со всеми вложенными Time with Children)

так и по строчкам кода (By lines - тоде выдают два числа, собственно время строчки Time, и время строчки со всеми вложенными Time with Children)

Т.е профилировщик VIP выдает только (By lines - Time with Children) но и это уже сильно помогает.

Еще можно настроить чтобы подсчет шел по регионам кода, но настраивать регионы не удобно. Я ни разу этим не пользовался.
LaaLaa

Сообщение LaaLaa »

galover писал(а):эээ, ну так неинтересно, речь ведь идет о стандартных компонентах! Да и потом сам код и не нужен (пусть он будет закриптован в ресе), мне нужно получить только функцию и время ее выполнения. Пусть Галактика шифрует полученные данные профилирования и отправляет их на мыло разработчику, такой вариант что не рассматривался?

Считается, если поставлять отладочную информацию и исходный код то хакерам будет легко взломать защиту. :)
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Сообщение galover »

LaaLaa
ничего подобного, Галку давно бы сломали, если бы была нужда, а так как в анекдоте про неуловимого Джо получается
LaaLaa

Сообщение LaaLaa »

Говорю как есть, сейчас именно такое положение дел. По с кодом путь возятся наши программисты. Они же пусть и патчи для него делают. По этому нам нужен доступ к вашим тестовым базам.
Последний раз редактировалось LaaLaa 19 окт 2009, 16:20, всего редактировалось 1 раз.
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Сообщение galover »

ну ясно, короче опять никто не слышит глас народа, обидно Зин (с)
LaaLaa

Сообщение LaaLaa »

galover писал(а):ну ясно, короче опять никто не слышит глас народа, обидно Зин (с)
Вы сформулируйте ваше предложение по технологи удаленного профилирования кода. Как вы это себе представляете и в каком виде вам это нужно. И оформите эту заявку в ПИР. Вопрос будет рассмотрен.
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Сообщение galover »

отправьте пожалуйста запрос в ПИР, у вас это быстрее получится и без всяких бюрократических проволочек в виде ТП. Удаленно профилировать я не прошу, нужен нормальный инструмент профилирования как своих, так и системных компонентов, идею можно подсмотреть здесь http://www.red-gate.com/products/ants_p ... /index.htm
empyros
Постоянный обитатель
Сообщения: 174
Зарегистрирован: 21 май 2009, 20:30
Откуда: Беларусь

Сообщение empyros »

Вы слишком многого хотите от человека, который Вам, в принципе, ничего не должен. Составьте предложение, отправьте в ТП, обоснуйте необходимость (заплатите за доработку) и получите решение - в ТП сидят специально предназначенные для этого люди, они за это в отличие от форумчан зарплату получают.
Ответить