Мифы и фольклор
Настройка базы данных всегда приводит к более высокой производительности системы.
Факты
Такая настройка может заставить базу данных работать более эффективно, но если приложение, подсистема ввода/вывода и операционная система (ОС) не настроены так же удачно, пользователь не пожнет плодов своих усилий. Конечной мерой успеха всех работ по настройке являются именно пользователи. Если
они не почувствуют увеличения производительности, это значит, что с таким же успехом АБД мог оставаться дома. Здесь необходим методичный и целостный подход, а не хаотические усилия наподобие тривиального добавления дополнительной памяти в глобальную область системы Oracle (OSGA, Oracle System Global Area).
Мифы и фольклор
Если коэффициенты попадания в кэш базы данных Oracle достаточно высоки
(скажем, 99,999%), производительность Oracle должна быть очень высокой. Факты
Совершенно неверно. Коэффициенты попадания в кэш могут снизиться в результате наличия в приложении нескольких коррелированных подзапросов, которые итеративно обращаются к одному и тому же набору блоков данных. В этом случае, даже несмотря на то, что коэффициенты попадания в кэш будут очень высокими, пользователи будут ждать получения требующихся им выходных данных в течение длительного времени. Ожидание выходных данных (как будет показано ниже) можно отнести к числу важных, связанных с вводом/выводом, ожиданий для сегментов данных и индексных сегментов, которые хранятся в файлах базы данных соответствующих табличных пространств DATA и INDEX. Имеется много аспектов настройки базы данных Oracle, которые вообще не затрагивают эти коэффициенты. Краеугольным камнем настройки Oracle являются события ожидания, а не коэффициенты.
В этой главе мы узнаем о холистической методологии и технических деталях
настройки систем на базе Oracle. Хотя конкретные детали имеют непосредст-
венное отношение только к Oracle, предлагаемый процесс может быть приме-
нен к любой системе. И хотя управление производительностью Oracle — это не
магия, в нем содержится немного искусства и много науки. Научную составляю-
щую легко определить в количественном выражении, а артистическая часть —
это уникальные личные достоинства конкретного АБД. Каждый из читающих
эту книгу, конечно, сможет, по мере роста собственного практического
развить у себя эти достоинства. Каждое усилие по управлению производитель-
ностью Oracle потенциально имеет три аспекта: настройка, планирование и по-
купка. настройки является наиболее важным и самым простым для
выполнения. Однако его необходимо выполнять проактивным, итеративным и
настройки систем на базе Oracle. Хотя конкретные детали имеют непосредст-
венное отношение только к Oracle, предлагаемый процесс может быть приме-
нен к любой системе. И хотя управление производительностью Oracle — это не
магия, в нем содержится немного искусства и много науки. Научную составляю-
щую легко определить в количественном выражении, а артистическая часть —
это уникальные личные достоинства конкретного АБД. Каждый из читающих
эту книгу, конечно, сможет, по мере роста собственного практического
развить у себя эти достоинства. Каждое усилие по управлению производитель-
ностью Oracle потенциально имеет три аспекта: настройка, планирование и по-
купка. настройки является наиболее важным и самым простым для
выполнения. Однако его необходимо выполнять проактивным, итеративным и
методичным образом. Именно об этом пойдет речь в данной главе.
К аспектам планирования относятся процессы балансировки нагрузки на систему за счет выполнения заданий в наиболее подходящие для этого моменты времени вместо того, чтобы одновременно (или в узком временном окне) запускать слишком много различных заданий. Аспект покупки просто действия по заказу и приобретению дополнительных ресурсов для настраиваемой системы, но здесь имеется определенная необходимость управлять этим почти непреднамеренным действием. Остерегайтесь опрометчивой покупки, ее легко совершить (если, конечно, у вас есть деньги), но она несет в себе наивысший
риск. Если заняться модернизацией одного или нескольких компонентов системы, не проведя предварительно исчерпывающего анализа его влияния, то появляется риск поставить себя и настраиваемую систему в еще худшее состояние, чем то, что было до модернизации. К тому же, если выполнить модернизацию компонентов, которые до того не
были
узкими местами, можно столкнуть настраиваемую систему в критическую точку. Примером служит полная замена всех ЦП системы на более мощные в том случае, если реально узким местом системы они вовсе не являются. Более подробная информация находится на сайте http://www.hotsos.com/ в статье Кэри Миллсоп "Управление производительностью: мифы и факты".Для практических целей можно разделить управление производительностью Oracle на две категории: проактивную (упреждающую) и реактивную. Про-активное управление производительностью включает проектирование и
разработку законченных систем с высокопроизводительной архитектурой.
Кроме того, сюда включается мониторинг производительности системы на постоянной основе, отслеживание тенденций (трендов) и проактивное разрешение потенциальных проблем еще до того, как они стали реальными. Но если посмотреть на внутреннее строение проактивного управления производительностью с точки зрения архитектуры, то добавится выбор аппаратного обеспечения, операционной системы, планирование производительности и пропускной способности, выбор системы массовой памяти, конфигурирование и настройка подсистемы ввода/вывода, включая выбор и реализацию соответствующего уровня RAID. Сюда же относится подгонка всех компонентов, чтобы они удовлетворяли различным сложным потребностям приложения и Oracle.
В аспекте планирования к проактивному управлению относится также логическое и рациональное балансирование заданий в системе. Такое планирование выполняется, чтобы избежать перегрузки системы в короткие промежутки времени (то самое пресловутое пакетное окно, о существовании которого мы все так хорошо осведомлены). Разумеется, выполненные проактивным способом работы стоят меньше и оказывают наибольшее влияние на конечные характеристики производительности всех
Реактивное управление производительностью включает оценку производительности, диагностику, настройку и тонкую настройку среды с учетом ограничений, налагаемых имеющейся архитектурой аппаратных средств и
программного обеспечения. Это пример реагирования на проблемы по мере их появления. Вы начинаете процесс после того, как система уже построена. Его стоимость в сравнении с достигаемым повышением производительности часто оказывается слишком высокой. При выборе такого способа управления часто
приходится сталкиваться с необходимостью разнообразных аппаратных
средств, программного обеспечения и других базовых компонентов. Здесь же можно определить, насколько хорошо спроектированы приложения настраиваемой базы данных.
Представленная здесь методология и связанные с ней технические детали дают базу знаний для использования в плане настройки реактивного управления производительностью. Конечно, те же самые принципы применимы и при проектировании системы с самого начала. Холистическая методология основывается на наборе параметров и компонентов, которые выигрывают от правильного конфигурирования и настройки. Сфокусировав свое внимание на этих критических областях, можно повысить эффективность попыток настройки
производительности Oracle, не вступая на опасный путь проб и ошибок.
< Предыдущая | Следующая > |
---|