Данным постом я начинаю цикл статей посвященных производительности SAP систем.
Так как SAP система имеет трехзвенную архитектуру и работает на различных аппаратных и программных платформах, то производительность SAP системы зависит от многих факторов. Можно выделить следующие:
Поговорим о памяти. Как вы знаете, на уровне операционной системы есть два понятия:
На уровне сервера приложений SAP (AS ABAP) выделяют собственное понятие виртуальной памяти, которое включает в себя два вида памяти (рис. 1):
Shared memory содержит следующие области:
Local memory содержит следующие области:
Автор: Шиболов Вячеслав Анатольевич
Так как SAP система имеет трехзвенную архитектуру и работает на различных аппаратных и программных платформах, то производительность SAP системы зависит от многих факторов. Можно выделить следующие:
- производительность и утилизация (оптимальное использование) аппаратной части,
- производительность операционной системы,
- производительность базы данных,
- производительность сервера приложений SAP (AS ABAP, AS JAVA) в целом и его частей.
Поговорим о памяти. Как вы знаете, на уровне операционной системы есть два понятия:
- физическая память (оперативная память, ОЗУ) - равна размеру физически установленной памяти в сервер.
- виртуальная память - равна сумме физической памяти и размеру swap области (paging area, файл подкачки).
На уровне сервера приложений SAP (AS ABAP) выделяют собственное понятие виртуальной памяти, которое включает в себя два вида памяти (рис. 1):
- shared memory - память доступная для всех процессов инстанции SAP AS ABAP,
- local memory - память доступная только для одного рабочего процесса системы.
Рис. 1. Типы памяти в SAP: общая картина. |
Shared memory содержит следующие области:
- SAP буферы, которые содержат глобальные объекты для всех пользователей/процессов инстанции.
- SAP roll memory, которая располагается в двух областях: памяти (Roll buffer) и на уровне файловой системы (SAP roll file). Cодержит начальный контекст пользователя (имя, полномочия, значения по умолчанию и т.д.), который генерируется единожды при входе в систему.
- SAP paging memory так же состоит из двух частей - область в памяти (Paging buffer) и файл на уровне сервера приложений (SAP paging file). Содержит ABAP объекты (Data clusters и параметры для вызывающих программ и транзакций) во время выполнения операндов вида IMPORT/EXPORT FROM/TO MEMORY, SUBMIT REPORT, CALL TRANSACTION, CALL DIALOG и т.п.
- Extended memory содержит данные для отдельных пользователей и их запущенных транзакций (внутренние таблицы, списки и т.п.). Даже если пользователь не запустил ни одной транзакции, место в Extended memory он занимает, так как там хранится вторая часть контекста пользователя.
Local memory содержит следующие области:
- Local memory - локальные области для каждого рабочего процесса, которые содержат, например, SAP cursor cache (хранит и разбирает SQL запросы) и I/O буфер для передачи данных от и до базы данных.
- Heap memory - выделяется по требованию, если рабочему процессу не хватает Extended memory. Освобождается по окончанию шага диалога.
Автор: Шиболов Вячеслав Анатольевич
Добрый день, Вячеслав, классная статья. Только у вас там опечаточка: shared memore.
ОтветитьУдалитьИгорь, поправил. Спасибо. :)
Удалить