Базы данных Oracle - статьи

         

I-й миф о коэффициенте попаданий в кеш буферов базы данных


Если коэффициент попаданий в кеш буферов базы данных Oracle (КПК) превышает 90% (например, 99.999), производительность Oracle будет самой лучшей.

Факт

Это не так. Очень высокий коэффициент попаданий в кеш буферов базы данных может вводить в заблуждение. Часто используемые операторы SQL, которые выполняют просмотры индексов или полные просмотры таблиц одной и той же маленькой таблицы, а также коррелированные подзапросы (снова и снова читающие один и тот же набор блоков) могут искусственно повышать КПК до очень высоких уровней. Это может заставить вас поверить, что Oracle работает на пике производительности, тогда как на самом деле "собираются тучи". Если сеансы пользователей ожидают доступа к свободным блокам в кеше буферов базы данных или ожидают cache buffers chains latch (защелка цепочек кеша буферов) или cache buffers lru chain latch (защелка цепочки LRU-списка кеша буферов) [Millsap, 5], то не имеет никакого значения, что КПК равен 99.999. А вы должны понимать, что имеете проблему производительности. Я пойду дальше и скажу, что в большинстве "реальных систем" высокий КПК (90% и выше) обычно указывает на в высшей степени неэффективный SQL в приложениях. Для того, чтобы добиться приемлемого времени реакции, вы должны локализовать и оптимизировать эти SQL-операторы, нарушающие нормальную работу. Существует много подходов к настройке Oracle, в которых коэффициенты не используются совсем. Краеугольным камнем настройки систем на базе Oracle являются события ожидания, а не коэффициенты.



Содержание раздела