В опубликованных мною 9 постах про организацию памяти в SAP системе (ABAP части) я осветил всё, что планировал на данный момент:
Осталась упомянуть ещё пару моментов.
Немного повторюсь, но основные цели при конфигурации и рекомендации следующие:
Данная тема освещается в курсе SAP "ADM315 - Workload Analysis AS ABAP" (Unit 3). Так же можно заглянуть в книгу Thomas Schneider "SAP Performance Optimization Guide".
- Организация памяти в SAP AS ABAP - I - что такое виртуальная память в SAP; shared и local memory, как основные части в организации памяти в SAP AS ABAP.
- Организация памяти в SAP AS ABAP - II - механизм выделения памяти диалоговым и не-диалоговым рабочим процессам.
- Организация памяти в SAP AS ABAP - III - основные параметры настройки памяти в SAP системе.
- Организация памяти в SAP AS ABAP - IV - как с помощью транзакций ST02 и SM04 проводить мониторинг областей памяти в SAP AS ABAP.
- Рабочие процессы в PRIV режиме - что такое PRIV режим рабочего процесса, чем этот режим опасен для производительности системы и как это контролировать.
- ZAMM: упрощенная конфигурация памяти в MS Windows - что такое «Zero Administration Memory Management», как это работает на платформе MS Windows.
- Особенности конфигурации памяти в SAP AS ABAP на Linux - две системы управления памяти в Linux - MAP implementation и STD implementation; когда возможна активация «Zero Administration Memory Management» на данной платформе.
- SAP NetWeaver 7.4: особенности конфигурации памяти - что нового в конфигурации памяти в системах SAP NetWeaver 7.40 и выше: ZAMM для Unix систем, упразднение Roll memory и другое.
- Какого размера область подкачки необходима для SAP системы? - как рассчитать начальный размер виртуальной памяти и swap области для SAP системы, утилита memlimits, которая позволяет проверить выделение памяти для одного процесса на уровне операционной системы.
Осталась упомянуть ещё пару моментов.
Немного повторюсь, но основные цели при конфигурации и рекомендации следующие:
- В качестве основной области памяти для 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). В данном примере ошибок нет.
Данную проверку можно запустить из транзакции RZ10, выбрав пункт меню "Профиль -> Проверить" (рис. 2). Данная проверка запускается автоматически при сохранении профиля после изменений.
У этой утилиты есть другая замечательная функция, которую можно использовать в Unix системах. В посте про мониторинг памяти я описывал как подсчитать общее количество виртуальной памяти в SAP. Утилита sappfpar делает похожие вычисления. В строке "Total, minimum requirement" она выдает минимальные требования к виртуальной памяти со стороны SAP, а в строке "Total, worst case requirement" - максимальное количество, которое может быть занято данной инстанцией (рис. 3 и 4).
Согласуясь с последней цифрой из результатов работы утилиты, необходимо обеспечить систему достаточным количеством области подкачки (swap). Подробности тут и тут.
Рис. 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 note # 103747 - Performance: Parameter recommendations as of Release 4.0,
- SAP note # 146289 - Parameter Recommendations for 64-Bit SAP Kernel,
- SAP note # 117907 - Display of SAP Memory usage in SM04 and ST02,
- SAP note # 133909 - Maximum value for PG_MAXFS, PG_SHM, ROLL_MAXFS, ROLL_SHM,
- SAP note # 425207 - SAP memory management, current parameter ranges,
- SAP note # 548845 - Internal modes uses more than 2 GB,
- SAP note # 835474 - More than 32 GB extended memory.
Данная тема освещается в курсе SAP "ADM315 - Workload Analysis AS ABAP" (Unit 3). Так же можно заглянуть в книгу Thomas Schneider "SAP Performance Optimization Guide".
Комментариев нет:
Отправить комментарий