Роль кэшей записи в повышении производительности

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

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

•             Загрузки БД, поскольку время выполнения операций ввода/вывода оказывает весьма существенное воздействие на производительность загрузки.

•             Создание индексов.

•             Большие сортировки, переходящие во временные табличные пространства на диске.

•             Операции с интенсивным вводом/выводом, которые обходят буферный кэш БД.

•             Рабочие нагрузки, в которых небольшие (например, размером 2 Кбайт) записи могут быть объединены в большие (размером до 2 Мбайт) записи (такая технология поддерживается StorEdge Fast Write Cache). Применение этой методики может помочь в программной реализации RAID 5.

•             Операции записи в подсистеме протоколирования (запись в журналы БД).

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

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

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

•             Рабочие нагрузки исключительно или главным образом чтения, такие как в системах DSS.

•             Операции записи данных для рабочих нагрузок OLTP, поскольку производительность операций записи обычно не является критичным параметром для производительности БД в целом.

•             Рабочие нагрузки, которые могут привести к переполнению кэша. Если этот кэш слишком мал, чтобы поддерживать операции записи тома, то именно кэш становится "узким местом" с точки зрения производительности.

•             Рабочие нагрузки с большими операциями записи.

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

Все, что необходимо для выполнения транзакции - это успешно записать подробности всех сделанных изменений в журнал, Модификации страниц данных отражаются в буферном кэше БД, но вовсе не должны быть немедленно отправлены на диск. Эта задача выполняется в асинхронном режиме (независимо, является ли она синхронной или нет/очистителями страниц памяти в удобное для них время, при этом учитываются частота обращений к данной странице и период времени, прошедший после того, как эта страница была в последний раз опорожнена на диск. Таким образом, выполнение транзакции не зависит от времени, необходимого для завершения записи на диск. Поскольку операции записи выполняются с использованием технологии асинхронного ввода/вывода и несколько операций ввода/вывода могут выполняться параллельно, то кэши записи обычно не обеспечивают повышения производительности для рабочих нагрузок OLTP, хотя имеет смысл использовать их для того, чтобы уменьшить число требуемых дисков.

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

Обеспечение эффективности использования кэшей записи
Сохранение целостности данных при использовании кэшей записи
Использование кэшей записи для журналов БД
Высокая готовность
Планирование отказа дисков

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


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