Как только идентифицирован представляющий интерес вопрос о ситуации в кэше буфера базы данных, можно начинать соответствующие корректирующие
действия (из числа включенных в следующий список):
• Увеличьте размер буферного кэша базы данных за счет увеличения числа буферизуемых блоков. Изменение значения
приведет к тому, что будет использоваться больше памяти, поэтому не забудьте убедиться, что операционная система справится с этой дополнительно выделенной коллективно
используемой памятью без дополнительного свопинга или страничной
подкачки. Однако будьте готовы к тому, что если настраиваемая база данных и раньше страдала от сложностей, связанных с защелками буферного базы данных, то увеличение числа DB_BLOCK_BUFFERS может привести к усугублению проблем.
• Увеличьте размер буферного кэша базы данных путем увеличения размера блока базы данных. Это можно сделать только путем создания новой базы данных с более подходящим размером блока данных и импортированием в нее данных из старой базы данных. Такой шаг трудновыполним, но он улучшит плотность данных, создав место для большего числа строк в одном блоке. Поэтому в том же числе буферов в памяти разместится большее количество данных. Однако будьте готовы к тому, что увеличение плотности данных может означать увеличение конкуренции за доступ к любому блоку. Еще более важной становится правильная установка параметров
initrans
иfreelisti
так как к одному и тому же блоку будет обращаться больше пользователей.Замечание
Не забудьте проверить установки параметра DB BLOCK BUFFERS, поскольку количество памяти, используемой для кэша буфера базы данных, возрастет в той же степени, что и размер блока.
Разнесите сегменты по соответствующим пулам по критерию использования сегментов. Если сегмент является маленькой таблицей для просмотра (или другим сегментом, который требует мгновенного доступа и поэтому должен быть закреплен в памяти), конфигурируйте пул keep, после чего этот сегмент станет использовать его для размещения. Для больших сегментов, способных выталкивать меньшие сегменты из пула по умолчанию, конфигурируйте пул повторного , использования и назначьте его для размещения таких сегментов.
Сконфигурируйте защелки LRU на максимальное для данной
платформы значение, чтобы избежать конкуренции за защелки,
вызванной их недостаточным количеством в системе. Повторяем, что
по нашим данным, при этом не возникает измеримых
по нашим данным, при этом не возникает измеримых
накладных расходов.
• Установите атрибут cache для тех сегментов, которым необходимо уменьшить вероятность старения блока.
Итак, если обнаружились проблемы ввода/вывода, приготовьтесь их разрешать. От плохой производительности ввода/вывода может страдать буферный кэш базы данных. Во всем этом можно найти и позитивную сторону: одновременно с ростом производительности ввода/вывода растет и производительность буферного кэша базы данных.
| < Предыдущая | Следующая > |
|---|


