Файлы UFS и замещение страниц

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

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

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

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

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

Разрешение использовать прямой ввод/вывод для файлов БД и особенно для ее журналов может дать существенные преимущества с точки зрения производительности, начиная с Solaris 8 1/01; более ранние версии прямого ввода/вывода могут не обеспечить существенного улучшения производительности. Прямой ввод/вывод описывается более подробно в разделе "Расширения файловой системы Unix" в главе 3.

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

Нормальное поведение замещения страниц, начиная с операционной системы Solaris 8
Продолжение углубленного анализа
Processes Kbytes Resident Shared Private
Что можно сделать для того, чтобы уменьшить интенсивность страничной подкачки
Второй этап. Мониторинг дисков

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


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