6 ноября 2015 г.

Организация памяти в SAP AS ABAP. Заключение

В опубликованных мною 9 постах про организацию памяти в SAP системе (ABAP части) я осветил всё, что планировал на данный момент:

Осталась упомянуть ещё пару моментов. 

Немного повторюсь, но основные цели при конфигурации и рекомендации следующие:
  • В качестве основной области памяти для SAP системы необходимо стремиться использовать SAP Extended Memory, уменьшая долю SAP Roll memory (для систем < SAP NetWeaver 7.40). Необходимо так же избегать использования Heap Memory диалоговыми рабочими процессами и перехода их в PRIV режим. Это позволит рабочим процессам быстро переключать контексты пользователей и поддерживать общую производительность системы при работе большого количества пользователей на высоком уровне.
  • При выборе архитектуры сервера следует отдавать предпочтение 64-битной. Причины я указывал в первом посте.
  • На сервере должна быть сконфигурирована swap область (paging file) достаточного объема. SAP рекомендует использовать размер = 3 * (размер оперативной памяти). Для серверов с большим количеством оперативной памяти следует делать свою поправку, так как цифра по формуле получается очень большой. Минимальные цифры: 32-бита - 3,5 Гб; 64-бита - 20 Гб. Подробности тут
  • Необходимо стремиться в качестве расположения виртуальной памяти SAP использовать оперативную память сервера, а не область подкачки (swap). Основная рекомендация - виртуальная память SAP должна быть меньше, чем 150 % от основной памяти сервера (в идеале, меньше, чем размер физической памяти). Конечно же, не стоит забывать про память, которая выделяется инстанции базы данных (в случае работы центральной инстанции и инстанции базы данных на одном сервере) или другим приложениям.
  • Величина максимального использования Roll area (поле MaxUse) должна быть не больше 80 % от размера буфера Roll area (In Mem). То есть использование файла на диске для Roll area не рекомендуется.
  • Величина максимального использования SAP Extended memory (поле MaxUse) должно быть не больше 80 % от сконфигурированного размера (In Mem). Всем активным пользователям должно с запасом хватать данного вида памяти.
  • Рекомендуется использование «Zero Administration Memory Management» (ZAMM), как наиболее оптимального метода использования памяти системой SAP. Особенно, если вы не сильны в конфигурации памяти, а ваша платформа-версия системы позволяет активировать это.
  • С регулярной периодичностью (не реже 1 раза в месяц) проводить мониторинг использования памяти всеми инстанциями системы, используя транзакцию ST02 и другие инструменты.
  • При изменении конфигурации оборудования или количества рабочих процессов, пользователей, инстанций, компонентов и модулей системы производить своевременную корректировку настроек памяти SAP.
  • Отслеживать дампы системы (транзакция ST22), которые возникают в следствии не оптимальной настройки системы памяти в SAP. Это могут быть дампы вида: STORAGE_PARAMETERS_WRONG_SET, SYSTEM_ROLL_IN_ERROR, TSV_TNEW_BLOCKS_NO_ROLL_MEMORY, SYSTEM_NO_ROLL, SET_PARAMETER_MEMORY_OVERFLOW и т.п.

В составе SAP Kernel есть утилита sappfpar, которая позволяет провести тестирование параметров памяти, установленных в профиле инстанции. 
Запуск производить из под пользователя <sid>adm, формат команды следующий:
 # sappfpar check pf=/usr/sap/<SID>/SYS/profile/<Instance_profile> nr=<system_number> name=<SID> 
В конце экрана с результатами утилита выведет информацию об ошибках и предупреждениях (рис. 1). В данном примере ошибок нет.

Рис. 1. Проверка профиля инстанции с помощью утилиты sappfpar.

Данную проверку можно запустить из транзакции RZ10, выбрав пункт меню "Профиль -> Проверить" (рис. 2). Данная проверка запускается автоматически при сохранении профиля после изменений.

Рис. 2. Результаты проверки профиля инстанции в транзакции RZ10.

У этой утилиты есть другая замечательная функция, которую можно использовать в Unix системах. В посте про мониторинг памяти я описывал как подсчитать общее количество виртуальной памяти в SAP. Утилита sappfpar делает похожие вычисления. В строке "Total, minimum requirement" она выдает минимальные требования к виртуальной памяти со стороны SAP, а в строке "Total, worst case requirement" - максимальное количество, которое может быть занято данной инстанцией (рис. 3 и 4).

Рис. 3. Пример результатов работы утилиты sappfpar.

Рис. 4. Пример результатов работы утилиты sappfpar.

Согласуясь с последней цифрой из результатов работы утилиты, необходимо обеспечить систему достаточным количеством области подкачки (swap). Подробности тут и тут.


По мере раскрытия темы я уже привёл много SAP нот, но есть еще несколько на данную тему:

Данная тема освещается в курсе SAP "ADM315 - Workload Analysis AS ABAP" (Unit 3). Так же можно заглянуть в книгу Thomas Schneider "SAP Performance Optimization Guide".


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

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