DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Измерьте текущую производительность

Именно в этом разделе (шаг 2) и в нескольких следующих разделах (шаги 3 и 4) описания выполнения настройки производительности мы постараемся из­ложить технические аспекты методологии. Хотя это может показаться отступ­лением от намеченного подхода, нашей целью является изложение релевантных технических деталей, относящихся к различным шагам методоло­гии. Мы считаем, что очень важно иметь сжатое представление о методах и свя­занных с ними технических подробностях. В этом отступлении мы охватим все пиковые точки нашего путешествия по дорогам оптимального управления про­изводительностью.
Прежде чем ориентироваться на цель, необходимо знать, где мы находимся относительно нее в настоящий момент. Представьте себе, что вы должны на­полнить свою кладовую перед отпуском, не зная, что там есть. Можно ли сде­лать это? Да. Хотите ли вы в конце работы получить массу даром потраченных усилий? Конечно. Следует согласиться, что было бы лучше, если перед тем как идти в магазин, мы знали бы, что у нас уже есть двенадцать банок консервов. Это в равной степени относится и к системам на базе Oracle. Необходимо выяснить, что у нас хорошо, а что не очень, прежде чем начать стучать по системе молот­ком, надеясь придать ей наилучшую форму.
Поэтому на следующем шаге определите, где ваша система находится отно­сительно конечных целей — достижения субсекундного отклика и 100%-ного ис­пользования рабочего времени. Начнем с получения приемлемой картины
производительности системы. Для этого соберем моментальные снимки
(snapshots) производительности, результаты работы тестовых программ, кар-
тинки до и после или, как там вы это еще        в пиковые периоды актив-
ности системы. У большинства предприятий, а, значит, и у поддерживающих их
баз данных, наблюдаются хорошо предсказуемые циклы нагрузок.
Как правило, деловая активность очень низка в районе 8 часов утра и начина­ет расти где-то к 10:00—10:30 утра. Затем активность притормаживается (время с 11:30 до 13:00) и снова начинает возрастать приблизительно с 15:30, чтобы окончательно упасть около 17 часов. Кроме того, дни в конце и в начале месяца имеют тенденцию быть более загруженными. Поэтому не слишком полезно фиксировать результаты работы базы данных, скажем, в 12 часов ночи. Эта ста­тистика мало чем поможет в работе. Конечно, многие компании именно в пол­ночь выполняют пакетные задания. Так что если вы имели в виду нечто подобное, время ваших исследований оправдано. Все дело в том, что необходи­мо собрать информацию именно за тот период времени, когда реализуется про­изводительность, о которой идет речь.
Еще одно существенное замечание относительно сбора материалов для на­ших исследований: не пытайтесь получать их сразу же с момента начала работы.
Когда экземпляр только что стартовал, его SGA еще свободна и требуется дать
какое-то время для ее заполнения. Статистика чего-то стоит только после на­копления большого количества событий или если ее собирают достаточно дли­тельное время. Сбор и измерение в течение пяти минут после запуска Oracle не только бесполезны, но и могут привести к тому, что усилия по настройке базы данных уйдут в другую сторону. Возможно, что у настраиваемого экземпляра бу­дут обнаружены вовсе несвойственные ему проблемы, а те проблемы, которые
нужно было определить, вряд ли найдутся.
Еще один        который не следует упускать из виду при сборе
заключается в том, что ее надо собирать в течение ограниченного времени. Ра­ботать на протяжении многих часов неразумно, потому что проблемы настраи­ваемой системы могут оказаться погребенными в горах полученной
информации. Долгие годы АБД собирали статистику, начиная с восьми утра и
заканчивая пятью вечера. Затем, на основании этих отчетов они могли сказать,
что база данных работает хорошо, или что все дело в том, что        есть утечка.
Эффект сглаживания, срабатывающий в слишком длительные периоды ни, может привести к тому, что плохие работники будут выглядеть прекрасно, а ве­щи типа пространства буфера журнала будут казаться бессмысленными. Наш метод сбора статистической информации об Oracle следующий: в пиковые периоды дела­ется несколько 15-минутных моментальных снимков. Было бы очень полезно, если бы удалось идентифицировать процессы или программы, испытывающие затруд­нения, и собрать статистику именно во время их выполнения.
Для того чтобы информация, получаемая в динамических представлениях производительности,     была    значимой,     параметр    инициализации нашего экземпляра должен иметь значение TRUE. Для вер­сии Oracle 8.0 и более старших оно устанавливается в результате применения
любого из двух известных способов (для некоторых платформ это может быть
портировано обратно для версии 7.3). Во-первых, параметр устанавливается ди­намически с помощью команды SQL alter system set timed statistics - true, вы­полняемой от имени пользователя SYS. Вот как это выглядит:
О Oracle Server Manager Release 3.1,5.0 O-Production
(c) Copyright 1997, Oracle Corporation. All Rights Reserved, 0racle8i Enterprise Edition Release 8.1.5.0.0.-Production
With the Partitioning and Java Options
PL/SQL Release 8.1.5.0.0.-Production
SVRMGR> connect / as sysdba;
Connected.        -
SVRMGR> alter system set ti*ed_statistics=true. Statement processed.
Во-вторых, можно присвоить параметру файла инициализации Oracle (init.ora) постоянное значение TRUE. Для большинства версий Oracle и самых различных платформ не обнаружено никаких 

измеримых 

накладных расходов, связанных с таким заданием параметра.
Внимание

Прежде чем использовать тот или иной способ, следует убедиться, что при установке данного параметра для вашей версии Oracle и платформы ОС не возникает никаких "недокументированных возможностей". Чтобы выполнить это, предпримите все необходимые шаги, включая проверку в Metalink или открытие запроса на техническое содействие (tar, technical assistance request) в Oracle.

Замечание
Все ссылки на        относятся конкретно к Oracle
на платформе UNIX. Эквивалентом для Windows NT является %ORACLE_HOME%. Кроме того, в UNIX подкаталоги обозначаются с использованием прямых слэшей (/), а в Windows NT для их обозначения используются обратные слэши (\). Внесите соответствующие изменения, зависящие от используемой платформы ОС.

 


программное обеспечение недорого







jAntivirus