нализ диагностических данных
Во второй части книги содержится вся необходимая информация для выбора действий, основанных на корректно полученных диагностических данных. Как вы увидите, порядок действий в методе R полностью основан на диагностических данных. Следовательно, задача представления данных трассировки в удобном для анализа виде поддается автоматизации. Если вам предстоит проанализировать несколько мегабайт необработанных данных, без автоматизации не обойтись. На момент написания этих строк мне известны три инструмента корпорации Oracle, способные помочь в этом:
tkprof
Утилита tkprof предназначена для форматирования трассировочных данных Oracle; она генерирует текстовый файл, содержащий данные о статистике производительности, сгруппированные по командам SQL. Параметры командной строки позволяют указать порядок, в котором команды будут показаны. Утилита была разработана для тестирования производительности отдельных приложений SQL и прекрасно справляется с этой задачей. Версия Oracle9i стала первой, в которой tkprof обрабатывает необходимые методу R данные о «событиях ожидания» Oracle. В предыдущих версиях tk-prof эти данные игнорировались. (В главе 5 рассказывается о важности «событий ожидания» Oracle.) Сведения об утилите tkprof содержатся в документе «Performance Tuning Guide and Reference» (Справочное руководство по настройке производительности), который можно найти по адресу http://technet.oracle.com и в документах MetaLink 41634.1, 29012.1 и 1012416.6.
trcsummary
Утилита trcsummary позиционируется корпорацией Oracle как «не предназначенная для широкого применения». Для разбора трассировочного файла Oracle в ней применяются средства awk и nawk, формируя выходные данные аналогично утилите tkprof. По-видимому, эта утилита была разработана для преодоления некоторых недостатков, свойственных ранним версиям tkprof. Информация о trcsummary имеется в документе MetaLink 62160.1.
Trace Analyzer
Средство Trace Analyzer представляет собой набор сценариев SQL*Plus и программ на PL/SQL, предназначенный для чтения исходного файла трассировки SQL и загрузки его содержимого в базу данных с последующим формированием подробного отчета. Trace Analyzer позволяет обрабатывать данные о «событиях ожидания» Oracle. Более подробное описание Trace Analyzer имеется в документе MetaLink 224270.1.
Из трех описанных средств самое новое и развитое - Trace Analyzer, но оно же и самое неудобное. Оно работает очень медленно, а на анализ выводимых им данных может уйти не один день, т. к. среди них непомерно много второстепенных.
Мой любимый анализатор трассировочных файлов Hotsos Profiler™ является коммерческим продуктом; его основной разработчик -Джефф Хольт (Jeff Holt). Причиной создания Hotsos Profiler стало отсутствие на рынке инструмента, позволяющего с достаточной скоростью перейти из состояния «данные собраны» в состояние «проблема решена». Hotsos Profiler всего за несколько секунд преобразует многомегабайтный файл расширенной трассировки SQL в документ HTML, после чего выяснение причины практически любой проблемы производительности требует всего пары щелчков мышью. Выходные данные Hotsos Profiler позволяют определить экономический эффект от наиболее значимых мероприятий по повышению производительности не больше чем за час с момента получения корректного трассировочного файла. Подробнее о Hotsos Profiler можно прочитать на сайте http:// www.hotsos.com.
После приведения собранных диагностических данных к пригодному для анализа виду надо определить пути повышения производительности выбранной пользовательской операции. На этом этапе действия аналитика состоят из ряда итераций примерно такого вида:
По профилю ресурсов определить компоненты времени отклика, обещающие наибольший экономический эффект. Затем найти диагностические данные, указывающие на причину столь заметного вклада этих компонентов в общее время отклика.
Сделать предположения о путях наибольшего сокращения доли времени отклика, приходящейся на компоненты, выбранные в п.1. Эти предположения по повышению производительности обычно проверяются на тестовой системе. По результатам тестов оценить ожидаемую выгоду от реализации предложенных идей. Следует рассмотреть достаточное количество идей, чтобы убедиться, что ни одна из возможностей, сулящих большую выгоду от повышения производительности, не упущена.
Технические подробности выполнения этих шагов отложим до третьей части. Остаток данной главы посвящен предсказанию экономической эффективности проекта.
< Предыдущая | Следующая > |
---|