21 декабря 2015 г.

SAP буферизация: общие сведения

В каждой SAP инстанции существует набор буферов, которые хранят запрашиваемые пользователями данные (рис. 1). Когда данные находятся в буфере, нет обращения на уровень базы данных, то есть чтение данных происходит из оперативной памяти сервера приложений SAP.

Рис. 1. SAP буферы.

Использование буферов на уровне сервера приложений SAP даёт ряд важных преимуществ:
  • увеличение быстродействия при чтении данных: доступ к SAP буферу обычно в 10-100 раз быстрее, чем к базе данных,
  • уменьшение нагрузки на базу данных с увеличением производительности всей системы в целом,
  • уменьшение очереди ABAP диспетчера, как следствие уменьшения времени обработки каждого шага диалога рабочими процессами и более быстрое переключение между задачами.

Все SAP буферы можно разделить на три категории:
  • системные,
  • буферы для объектно-ориентированных приложений,
  • табличные.

Детальную информацию по буферам SAP инстанции и их влияние на производительность системы можно найти в таблице (рис. 2).

Рис.2. SAP буферы с описанием.

Мониторинг буферов SAP инстанции производится с помощью транзакции ST02 (рис. 3).

Рис. 3. Основной экран транзакции ST02.

У каждого буфера есть два параметра: размер самого буфера (общий - Allocated и свободный - Free space) и количество записей в нём (максимальное - Dir. size Entries и свободное - Free directory Entries). 

Для каждого буфера доступна детальная информация: для перехода к детальному экрану необходимо дважды щелкнуть на строку с названием буфера (рис. 4).

Рис. 4. Детальная информация о буфере TTAB.

Нажав соответствующую кнопку на панели, можно получить доступ к истории использования буфера (рис. 5).

Рис. 5. История использования буфера TTAB.

При анализе работы буфера необходимо отслеживать два параметра:
  • коэффициент попадания (hit ratio), который показывает эффективность работы буфера,
  • вытеснения из буфера (swaps). 

Hitratio снижается как при отсутствии объекта в буфере, так и при неконсистентности (invalidation), когда объект в базе данных был изменен, напрямую или при импорте транспортного запроса, а в буфере осталась "старая" версия. Для снижения такого эффекта рекомендуется выполнять перенос запросов с изменениями программ и настроек в продуктивную систему один или два раза в неделю. Время для переноса следует выбирать с учетом нагрузки на систему со стороны пользователей.

Вытеснения из буфера, количество которых фиксируется в поле "Swaps", происходит в момент нехватки в буфере места или свободного количества записей (поле "Free directory Entries").

Основные рекомендации при мониторинге буферов:
  1. Коэффициент попадания (hit ratio) должен быть не ниже 95 %. Для Nametab (NTAB) буферов точность должна быть минимум 99,5 %. 
  2. Буферы должны быть достаточного, но не слишком большого размера (размер буфера и количество записей).
  3. Количество вытеснений из буфера (swaps) должно стремиться к 0.

Для уменьшения количества swaps необходимо увеличить размер буфера или количество записей в буфере, в зависимости от того, чего не хватает. На примере (рис. 3) для буфера "Export/Import" большое количество вытеснений (swaps) обусловлено нехваткой свободных записей в буфере ("Free directory Entries").

Изменение размеров буфера производится через параметры SAP системы. Список параметров доступен по кнопке "Current Parameters" на основном экране транзакции ST02 (рис. 6).

Рис. 6. Список параметров инстанции для настройки SAP буферов.

Изменение рекомендуется проводить в диапазоне 10-50 % от начального значения, после чего проводить мониторинг (после минимум недельной работы SAP инстанции). Перед установкой любого параметра необходимо изучить справку по нему в транзакции RZ11 и на SAP Help Portal. А так же учитывать единицы измерения - байт, Кб, блоки по 8 Кб.

Полезные SAP notes по данной теме:

Комментариев нет:

Отправить комментарий