Мифы и фольклор
Для достижения максимальной производительности базы данных область SGA всегда должна быть сконфигурирована в одном совместно используемом сегменте памяти. Конфигурирование параметров ОС для аккомодации всей области SGA в одном совместно используемом сегменте памяти всегда приводит к увеличению производительности базы данных.
Факты
Многие АБД в средах UNIX проходят большой путь, пытаясь сохранить всю SGA в одном совместно используемом сегменте памяти и не теряя надежд добиться выигрыша в производительности. Однако в большинстве других сред не отмечено существенной деградации производительности даже в тех случаях, когда SGA была составлена из нескольких сегментов общей памяти. Процессы Oracle обращаются к различным компонентам SGA с почти идентичными временами подводки, которые составляют всего несколько наносекунд. Мы провели тесты производительности для многих клонов UNIX просто для того, чтобы развенчать этот миф. Одни и те же компоненты приложения прогонялись до и после того, как было модифицировано ядро UNIX, в результате не было отмечено абсолютно никакого увеличения или уменьшения производительности. Для многих платформ UNIX и в самом деле не играет роли, использует SGA один или несколько сегментов общей памяти.
Мы, тем не менее, обязаны указать читателям на два исключения. На некоторых аппаратных платформах, поддерживающих доступ к неоднородной памяти (NUMA, non-uniform memory access), размещенной в нескольких узлах, коммуникация между узлами системы осуществляется с помощью специального межузлового соединения (interconnect) или коммутатора. Если SGA в такой системе сконфигурирована из нескольких совместно применяемых сегментов памяти, имеется вероятность, что данные сегменты будут созданы в разных узлах, следовательно, Oracle придется постоянно использовать межузловое соединение для чтения из различных частей SGA. Это создает некоторые проблемы с производительностью в тех случаях, когда полоса пропускания упомянутого межузлового соединения ограничена, что, в свою очередь, приводит к созданию узких мест между узлами. Кроме того, если пользователь собирается использовать опцию среды Sun Solaris Intimate Shared Memory (ISM), обязательным требованием является конфигурирование параметра SHMMAX так, чтобы вся SGA оказалась распределенной в одном сегменте общей памяти.
Сколько же настройки необходимо выполнить на уровне операционной системы (ОС)? ОС сама по себе может рассматриваться как менеджер ресурсов, координирующий функции процессоров, дисковой подсистемы и памяти различных процессов или приложений в конкретной системе. Все эти компоненты взаимодействуют друг с другом. Способ выполнения каждого компонента своих функций влияет на все остальные компоненты.
Имеется два аспекта настройки на уровне ОС: во-первых, мы конфигурируем ОС, чтобы убедиться, что для базы данных Oracle имеется достаточно ресурсов; во-вторых, конфигурируем ОС для того, чтобы повысить производительность процессов Oracle. В среде UNIX в таких случаях обычно приходится корректировать определенные параметры ядра ОС. В последние годы Руководство по инсталляции и конфигурированию Oracle (ICG, Installation and Configuration Guide) предлагает полезные рекомендации для установки таких параметров, но в конкретных средах для некоторых параметров требуется дальнейшая корректировка. Большинство параметров ядра ОС можно оставить неизменными и использовать их значения по умолчанию. Мы назовем относящиеся к делу параметры в следующих разделах.
В среде Windows NT имеется несколько параметров, которые для увеличения производительности ОС нуждаются в корректировке. К счастью, не требуется перестройки ядра - просто нажмите правую кнопку и выходите. После
некоторых конфигурационных изменений бывает достаточно перезагрузки.
Чтобы утолить жажду знаний о конфигурировании ОС наших читателей из числа пользователей Windows NT, мы включили специальный раздел, посвященный ее конфигурированию.
| < Предыдущая | Следующая > |
|---|


