Buffer hit %. STATSPACK

dbstalker, 07 октября

Можно сказать, что этот коэффициент демонстрирует вероятность того, что необходимый нам блок уже находится в памяти (а не на диске). Этот показатель также называют отношением физического чтения к логическому.

Формула подсчета:

select round(100*( 1-(
        ((select value from stats$sysstat where name ='physical reads' and snap_id=snap_end)-
        (select value from stats$sysstat where name ='physical reads' and snap_id=snap_begin)
  -      
        ((select value from stats$sysstat where name ='physical reads direct' and snap_id=snap_end)-
        (select value from stats$sysstat where name ='physical reads direct' and snap_id=snap_begin))
   -     
        ((select value from stats$sysstat where name ='physical reads direct (lob)' and snap_id=snap_end)-
        (select value from stats$sysstat where name ='physical reads direct (lob)' and snap_id=snap_begin))
)
  /((select value from stats$sysstat where name ='session logical reads' and snap_id=snap_end)-
        (select value from stats$sysstat where name ='session logical reads' and snap_id=snap_begin))),2) ratio from dual

Buffer hit - это показатель того, насколько запросы данных удовлетворяются из буферного кэша. Значение близкое к 100% считается лучшим: чтение данных из памяти происходит значительно быстрее, чем выполнение операций чтения/записи на диск. Конечно же, есть исключения: если Ваша база данных – это data warehouse, и в основном происходят массовые загрузки данных, то full-table scans приводит к низкому значению этого коэффициента. Что очень даже приемлемо.

Если значение Buffer hit становится меньше 90 %, то это говорит о том, что много блоков не нашлось в памяти и пришлось считывать с диска. Значит, стоит увеличить буферный кэш. Но не так сразу. Увеличение буферного кэша приводит к уменьшению прочих составляющих SGA. А это может сказаться на производительности. Поэтому думайте, анализируйте и только потом принимайте окончательное решение.

Замечание. Только не думайте, что этот показатель можно вычислить по представлению v$buffer_pool_statistics . Коэффициент полученный таким образом это что-то сродни «средней температуре по больнице». Данные этого представления накапливаются со времени старта экземпляра. Поэтому лучше выполнять STATSPACK в нужные промежутки времени и на основе этих данных проводить анализ.

Тэги: STATSPACK

ОднаКнопка

 

Новый комментарий

Я не спамер: введите суму 2+0



 

От авторов блога

О Блоге - прочитай перед началом.

Задать вопрос и получить ответ - уже решено 94 вопросов

Глоссарий - список терминов и сокращений


 
 

Бизнес форум

Последние темы:

Печь булерьян в дом
21 сентября, 1 ответа
Как Открыть Футбольную Школу
20 сентября, 1 ответа
IP телефония
20 сентября, 1 ответа