Мониторинг буферного кэша

Оценить
(0 голоса)

Учитывая тот факт, что буферный кэш оказывает значительное влияние на производительность приложений OLTP, не стоит удивляться, что мониторинг его эффективности является важной приоритетной процедурой. Коэффициент успешных попаданий в буферный кэш является одной из основных метрик БД, за которой вы должны следить при рабочих нагрузках OLTP. Частота успешных обращений к буферному кэшу определяет количество блоков БД, чаще обнаруживаемых в буферном кэше по сравнению с чтением с диска. Блоки, считанные с диска, называются физическими считываниями. Блоки, найденные либо при чтении диска, либо в буферном кэше, называются логическими считываниями (поскольку считывания с физического диска включены в оба показателя).

Не у всех СУБД частота успешных обращений к буферному кэшу задана в подходящей форме; вам, вероятно, приходилось рассчитывать его самостоятельно. В главах, посвященных настройке БД для Oracle, Sybase, Informix, приводится информация о расчете этой метрики для каждой БД.

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

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

Приемлемая частота успешных обращений к буферному кэшу

Что она собой представляет? К сожалению, дать ответ на этот вопрос нелегко.

Автор поинтересовался у администратора БД частотой успешных обращений к буферному кэшу в его экземплярах Oracle. И тот ответил автору, что она находилась в пределах рекомендаций Oracle и составляла более 90%.

Его ответ не случайно был столь неоднозначным. Самому автору пришлось просматривать три книги по настройке Огас1е8 и обнаружить три различных значения минимально рекомендуемой частоты успешных обращений к буферному кэшу для приложений OLTP - 70%, 95% и 98%.

К сожалению, достижение приемлемой частоты успешных обращений к буферному кэшу не столь просто, как установление произвольного значения в качестве отправной точки. Тем не менее, как можно будет увидеть, существуют объективные мероприятия, могущие помочь при определении вашей текущей частоты успешных обращений к буферному кэшу. Однако для начала нам необходимо обсудить значение и применение статистики частоты успешных обращений.

Путаница с частотой успешных обращений к буферному кэшу

Во время обучения автор периодически задавал следующий вопрос; если бы у вас была возможность повысить частоту успешных обращений к буферному кэшу с 90% до 95%, то какое сокращение физических считываний можно было бы заметить?

Ответы были неоднозначны и варьировались от 5% сокращения до "нельзя сказать уверенно". На самом деле, физические считывания сокращаются наполовину.

Путаница происходит из-за того, что частота успешных обращений к буферному кэшу может исказить показатель, который в действительности может нас интересовать. Коэффициент "непопаданий" - это количество запросов ввода/вывода, которые не могут быть обработаны через кэш, вследствие чего происходят физические считывания. Вычислить коэффициент "непопаданий" просто: он равен 100 минус частота успешных обращений к буферному кэшу. Так, 90% успешных обращений к буферному кэшу означает 10% непопаданий, а 95%) успешных обращений - 5% непопаданий.

Когда первые вопросы касались коэффициента "непопаданий", то ответить на них было просто: "Если у вас была бы возможность уменьшить коэффициент "непопаданий" при обращениях к кэшу с 10%> до 5%, то насколько заметным будет уменьшение физических считываний?". Уменьшение коэффициента "непопаданий" с 10% до 5% означает только половину физических считываний.

Таким образом, количество физических считываний уменьшается наполовину, если частота успешных обращений к буферному кэшу увеличивается с 90% до 95%. и вновь уменьшается наполовину, если частота успешных обращений к буферному кэшу увеличивается с 95% до 97.5%.

Каким теперь будет оптимальная рекомендуемая частота успешных обращений к буферному кэшу: 70%, 95% или 98%?

Руководство по частоте успешных обращений к буферному кэшу
Рабочий пример
Большинство рабочих нагрузок
Задание размера буферного кэша
Влияние размера буферного кэша на производительность

Добавить комментарий


Защитный код
Обновить