Роль буферного кэша

Оценить
(0 голоса)
Несмотря на то, что дисковый ввод/вывод является центральной операцией РСУБД, базам данных стремятся придать значительные размеры для уменьшения количества операций ввода/вывода Причиной этого является время доступа к диску. Доступ к кэшу процессора осуществляется значительно быстрее, чем доступ к основной памяти, а доступ к основной памяти, в свою очередь, осуществляется быстрее, чем доступ к диску. Поэтому системы баз данных эффективнее работают с данными, полученными из памяти без участия ЦП, чем при доступе к диску. Если для операции РСУБД требуется блок базы данных, размещенный на диске, то операция обычно приостанавливается на время считывания страницы в память. При записи данных в журнал процесс…
Оценить
(0 голоса)
Является одним из основных инструментов, используемых системами баз данных для сокращения дискового ввода/вывода. СУБД получает сегмент памяти совместного использования и обычно оставляет в стороне большую его часть, чтобы произвести размещение блоков базы данных (также называемых страницами БД). Если для транзакции необходим блок, он будет считан с диска и сохранен в буферном кэше; последующие транзакции, которым будет необходим этот блок, смогут получить его из памяти быстрее, чем с диска. На практ ике для размещения каждого блока базы данных, необходимого для транзакций. редко бывает достаточно памяти в буферном кэше, поэтому блоки не могут содержаться в памяти неограниченно долго. СУБД используют алгоритм замещения…
Оценить
(0 голоса)
Учитывая тот факт, что буферный кэш оказывает значительное влияние на производительность приложений OLTP, не стоит удивляться, что мониторинг его эффективности является важной приоритетной процедурой. Коэффициент успешных попаданий в буферный кэш является одной из основных метрик БД, за которой вы должны следить при рабочих нагрузках OLTP. Частота успешных обращений к буферному кэшу определяет количество блоков БД, чаще обнаруживаемых в буферном кэше по сравнению с чтением с диска. Блоки, считанные с диска, называются физическими считываниями. Блоки, найденные либо при чтении диска, либо в буферном кэше, называются логическими считываниями (поскольку считывания с физического диска включены в оба показателя). Не у всех СУБД частота…
Оценить
(0 голоса)
Нет никакого волшебства при определении приемлемой частоты успешных обращений к буферному кэшу для конкретного приложения БД или системы базы данных. Тем не менее, существует ряд факторов, которые вам необходимо проанализировать при решении вопроса приемлемости вашей текущей частоты успешных обращений к буферному кэшу. Вот наиболее важные факторы: •             Доступная память. Обычно вы увеличиваете частоту успешных обращений к буферному кэшу путем увеличения размера буферного кэша. Однако подобное увеличение имеет смысл только в том случае, если в вашем распоряжении имеется достаточное количество памяти для его поддержки. Если вы выделите слишком большой объем памяти буферному кэшу и в результате лишите приложение памяти, то произойдет…
Оценить
(0 голоса)
Чтобы проиллюстрировать описанные выше принципы, давайте рассмотрим пример с решением. Приводимые статистические данные, основанные на реальной рабочей нагрузке, получены в результате отчета утилит Огас1е под названием utlbstat и utlestat, описываемых в разделе "Сценарии утилит utlbstat и utlestat": consistent gets 52180045 db block gets 1675582 physical reads 1217906 physical writes 200263 Мы конкретизируем процесс путем задания нескольких вопросов. •             Какова текущая частота успешных обращений к буферному кэшу? Как можно видеть из раздела "Расчет частоты успешных обращений к буферному кэшу" главы 22, логические считывания для Огас1е8 равны сумме consistentgets и dbblockgets, поэтому частота успешных обращений к буферному кэшу равна: {1-{ 12X7906/{ 1675582…
Оценить
(0 голоса)
Большинство рабочих нагрузок неоднородно в использовании системных ресурсов на протяжении получасового периода: более обычны пики и впадины. Поэтому похоже, что ввод/вывод во время пиковых периодов будет превышать 60 операций в секунду на каждом диске. Повышение частоты успешных обращений к буферному кэшу может в этом случае принести некоторое преимущество, особенно если получасовой интервал измерений не отражает период интенсивной рабочей нагрузки. Если доказано, что частоту успешных обращений к буферному кэшу по какой-либо причине повысить невозможно, то весьма рационально использовать разделение более чем на восемь дисков. •             Сколько свободной памяти доступно для расширения буферного кэша? Прежде чем решить увеличить размер буферного кэша для…
Оценить
(0 голоса)
Отклонение данных и схемы доступа очень сильно влияют на рабочие нагрузки, затрудняя предсказание их поведения. Соответственно, задание размеров буферных, кэшей представляет собой трудный, но интересный пример. В качестве простого практического метода некоторые люди полагают, что задаваемый размер буферного кэша пропорционален размеру БД. Известны рекомендованные значения, изменяющиеся от 1% до 20% общего размера БД; неоднозначность этих рекомендаций отражает степень сложности выбора такого размера. Несколько лет назад группа Performance and Availability Engineering проводила курс обучения для лучшего понимания соотношения между размерами кэша и частотой успешных обращений к нему, а также их влияния на производительность. Как можно будет видеть, оптимальный размер буферного кэша…
Оценить
(0 голоса)
Производительность транзакции зависит от соотношения между размерами БД и буферного кэша. Если размер буферного кэша сравнительно невелик по отношению к размеру БД, то величина производительности будет далека от пикового значения, достигаемого для данной конфигурации. На рисунке 7.1 показано соотношение между производительностью и размером буферного кэша. При постепенном увеличении размера кэша производительность сначала резко возрастает, затем достигает "точки перегиба", после чего продолжает возрастать, но уже очень плавно. Кривая линейки 100 четко отражает это явление: при увеличении буферного кэша с 50000 до 300000 страниц производительность резко возрастает. За пределами этой точки даже значительное увеличение размера кэша приводит к незначительному повышению производительности. Большие…
Оценить
(0 голоса)
Выбор размера страницы (или размера блока) БД оказывает важное влияние на ее производительность. Для приложений DSS обычно выбирают размеры страниц побольше, поскольку они снижают издержки при последовательной обработке больших томов данных. Для баз данных OLTP обычно выбирают размеры страниц поменьше, поскольку обращение к операциям ввода/вывода чаще всего будет произвольным, а размеры строк - сравнительно небольшими. Одной из основных причин влияния размера страницы базы Данных на производительность является его воздействие на эффективность буферного кэша БД. Размер страницы определяет как размер страниц в буферном кэше, так и размер блоков ввода/вывода из/в таблицы базы данных на диске. Рассмотрим таблицу, средняя длина строки которой…