Влияние размера буферного кэша на производительность

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

Производительность транзакции зависит от соотношения между размерами БД и буферного кэша. Если размер буферного кэша сравнительно невелик по отношению к размеру БД, то величина производительности будет далека от пикового значения, достигаемого для данной конфигурации. На рисунке 7.1 показано соотношение между производительностью и размером буферного кэша.

При постепенном увеличении размера кэша производительность сначала резко возрастает, затем достигает "точки перегиба", после чего продолжает возрастать, но уже очень плавно. Кривая линейки 100 четко отражает это явление: при увеличении буферного кэша с 50000 до 300000 страниц производительность резко возрастает. За пределами этой точки даже значительное увеличение размера кэша приводит к незначительному повышению производительности. Большие базы данных (линейка 250 и выше) ведут себя подобным образом.

Линейка 525 открывает другую ключевую характеристику: при возрастании размеров кэша для достижения такого же возрастания производительности необходимо больше памяти. В этом случае производительность при наличии 200000 буферов удваивается при дополнении еще 200000. однако за пределами 400000 буферов для увеличения производительности на такую же величину необходимо вдвое больше памяти (400000 буферов).

Из рисунке 7.1 также хорошо видно, что базы данных меньшего размера выигрывают по сравнению с базами данных больших размеров, если малый буферный кэш увеличивается в размере. Эта особенность может показаться трудной для понимания, однако объясняется она тем фактом, что большая часть небольшой БД может быть быстро кэширована, в то время как такое же увеличение памяти кэширует лишь малую часть большой БД. В то же время увеличение пропускной способности намного быстрее замедляется для малых баз данных, тогда как для больших баз данных преимущества сохраняются. В любом случае со временем будет достигнута точка, за пределами которой дальнейшие увеличения размера кэша принесут незначительные преимущества.

Исследование показало, что для данной рабочей нагрузки оптимальный размер буферного кэша достигается между 10% и 15% размера БД. В таблице 7-1 приведены размеры кэша, необходимые для достижения "точки перегиба", за пределами которой дальнейшие увеличения размера кэша не приносят дополнительных преимуществ. Таблица 7-1. Размер буфера и данные успешных обращений в точках перегиба

Результаты для больших линеек баз данных в отчете не представлены, поскольку для них точка перегиба не была достигнута (для этого необходимы буферные кэши большего размера). Обратите внимание также на то, что частота успешных обращений к буферному кэшу, приведенная в таблице, применима только к страницам данных; DB2 для Solaris предусматривает отдельные статистические отчеты по частоте успешных обращений к буферному кэшу для страниц данных, индексных страниц и всех страниц.

Как видно из таблицы 7-1, базы данных меньшего размера используют несколько оо ч.шне пропорции памяти буферного кэша для достижения точек перегиба.

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

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

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

Для такой рабочей нагрузки практический предел частоты успешных обращений к буферному кэшу данных составляет около 98%. Однако общая частота успешных обращений к кэшам была выше; включение частоты успешных обращений к индексному кэшу приводит к увеличению верхнего предела на этом рисунке приблизительно до 99%, поскольку частота успешных обращений к индексному кэшу была существенно выше, чем к кэшу данных.

Дальнейшие тестирования подтверждают, что поведение, описанное для 12 ЦП, также применимо к 4 и 8 ЦП.

В завершение этого обсуждения следует отметить, что емкость памяти серверов Sun в последние годы заметно выросла, и эта тенденция, похоже, продолжается. Си-схемы с объемом памяхи в 1 Гбайт для одного ЦП были распросхранены в прошлом, нынешнее поколение сисхем выпускается с 4 или 8 Гбайт для одного ЦП. Конфигурации с еще большей памяхью, скомбинированные из 64-разрядных СУБД под 64-раз-рядной Solaris, позволяют щедро задавать размеры буферных кэшей.

Влияние размера страниц на эффективность буферного кэша
Дисковый ввод/вывод является центральной операцией РСУБД
Обзор буферного кэша
Мониторинг буферного кэша
Руководство по частоте успешных обращений к буферному кэшу

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


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