1 июня 2021 г.

Учебный курс в HPE: HQ6R1S - VMware vSphere: Fast Track [V7]

Наконец-то сбылась моя мечта и я попал на курс по администрированию VMware vSphere. Почти 2 года я собирался его посетить, но мешали то финансовые вопросы, то ковидная пандемия. И вот неожиданно, буквально за 2 дня до начала, мне разрешили зарегистрироваться. И с 24 по 28 мая я большую часть светового дня провёл в московском учебном центре компании HPE. О чём и хочу поделиться в этом посте.

Курс называется HQ6R1S - VMware vSphere: Fast Track [V7]. Представляет собой объединение тем из 2-х пятидневных курсов (VMware vSphere - Install, Configure, Manage [V7] + VMware vSphere - Optimize and Scale [V7]) в один пятидневный, но с удлинённым учебным днём. Заниматься приходилось дольше обычного - учебный день был строго с 9:30 до 18:30, иногда до 19:00. На обед выделялось 40 минут плюс пара перерывов по 10 минут на кофе. Итого, 8 часов ежедневного полноценного погружения в администрирование VMware: теория + самостоятельные лабораторные занятия. Курс построен на последней версии VMware vSphere 7.0. 

Но самое интересное, ради чего я и пытался так отчаянно попасть на этот курс, это преподаватель. Помните, в посте про прошлое моё обучение в учебном центре HPE (я проходил курс по администрированию корпоративных Linux систем в 2017 году) я упомянул, что видел в учебном центре Максима Мошкова (того самого, что создал в своё время библиотеку lib.ru)? И что я считаю его лучшим IT преподавателем, у которого я когда либо учился? Так вот, после того раза я выяснил, что Максим в HPE сейчас читает все курсы по VMware (расписание курсов Максима). И когда я напрямую столкнулся с виртуализацией на работе, то сразу запланировал пройти этот интенсивный курс. Я был уверен, что преподавательский талант Максима позволит выдержать и усвоить такую плотную подачу материала. И не ошибся. :)

А помните, фотографию 2003 года, где были Мошков и я? (рис. 1).

Рис. 1. Курс у Максима Мошкова в HP в 2003 году.

Так вот! Теперь у меня есть свежая фотография опять же Мошкова и меня, но уже сделанная в мае 2021 года (рис. 2).

Рис. 2. Я с Максимом Мошковым в учебном центре HPE в 2021 году.

Как видите, за 18 лет кто-то бороду сбрил, а у кого-то она выросла. :)

Учебный центр сейчас на полукарантинном положении. Всё строго и немного грустно (рис. 3).

Рис. 3. Учебный центр HPE: никаких развлечений.

Курсы читаются полностью онлайн или в гибридном режиме. Это когда в аудитории лишь несколько человек, а остальные сидят онлайн. Мне повезло, что данный курс выделен в отдельную категорию и читается только офлайн. Было 9 человек, но мы честно носили маски и мыли руки каждый перерыв. :) Питание, как и до этого, по купонам (сейчас это 400 рублей в день). Но нормальные столовые, где их принимают, закрыты. Пришлось открыть для себя китайско-американский фаст-фуд Панда-Экспресс. Мне понравилось и за неделю не приелось. Альтернативой был Бургер-Кинг. Печеньковые 2000-е так и не вернулись. :) Но чай-кофе-вода в достатке бесплатно. В общем, можно было полностью сосредоточиться на обучении.

Пандемия, карантин и переход частично на обучение онлайн внесли свои корректировки не только в настольные игры. Помимо печенья исчезли бумажные копии учебников. Я считаю, что это минус. Учебники (в данном случае это основной гайд на 1000 страниц + 165 страниц отдельно с описанием лабораторных работ) были только онлайн. Каждому участнику выдаётся индивидуальный код на набор учебников на сайте https://evantage.gilmoreglobal.com/. Площадка с лабораторным стендом располагается где-то за океаном, доступ тоже онлайн. В учебном классе у каждого компьютер с доступом в сеть Интернет и ко всем ресурсам для занятий: учебникам, сайтам, лабораторному стенду. За 5 дней обучения из негатива могу отметить небольшие тормоза стенда. Они начинались после обеда, как по расписанию, после 4-5 часов дня, когда в США наступало утро. И разовую недоступность всей сети HP и Интернета в пятницу утром, где-то до 11 часов. В целом, это не повлияло на обучение. Все вопросы были решены.

Максим читает неподражаемо. Индивидуальная (без привязки к учебнику) манера рассказа, с подведением слушателей до решения, поставленных им же в начале проблем, вопросы на засыпку и так далее. Учебнику до этого далеко. Доска, маркеры и разговор с аудиторией. Лабораторные работы тоже были построены нормально, охватывали все аспекты: создавай виртуальные системы, ломай, удаляй. Полная свобода действий.

Бонусом к этому курсу дают ваучер на одну бесплатную попытку сдать экзамен VMware Certified Professional - Data Center Virtualization 2021 (VCP-DCV 2021). Попытку можно сделать в течении 3-х месяцев после курса. Я планирую дополнительно подготовиться и попробовать сдать. На текущий момент, сдача, вроде бы, онлайн. По аналогии с SAP сертификатами. Про сдачу, в случае успеха, обязательно напишу.

Свои записи-заметки после обучения ещё не разобрал. В планах также перечитать учебник ещё раз. Планирую что-то интересное про VMware рассказать в будущих статьях блога. По крайней мере, подача материала Максимом Мошковым мотивирует пересказать это самому. :)
А сейчас могу поделиться парой моментов:


Данный курс рекомендую всем, кто хочет максимально плотно погрузиться в администрирование VMware vSphere. Бонусом получите ваучер на сдачу экзамена. А Максима Мошкова рекомендую, как преподавателя. Хотя бы один раз к нему сходить надо обязательно.

Как сказал Сунь-Цзы: "Нужно учиться до старости и смерти, когда учение прекращается само".


Автор: Шиболов Вячеслав Анатольевич


4 мая 2021 г.

Когда возникает системный дамп MEMORY_NO_MORE_PAGING

Сегодняшним постом я снова обращусь к теме организации памяти на сервере приложений SAP AS ABAP. Поговорим про системный дамп MEMORY_NO_MORE_PAGING. Обычно такой дамп возникает не один, а генерируется массово. Причём одновременно у нескольких пользователей одной SAP инстанции (рис. 1 и 2).  

Рис. 1. Пример генерации системных дампов типа MEMORY_NO_MORE_PAGING.

Рис. 2. Пример системного дампа MEMORY_NO_MORE_PAGING.

Данный сбой происходит тогда, когда рабочий процесс инстанции SAP системы, выполняющий ABAP-код, не может получить очередную порцию памяти из Paging Area (или SAP paging memory). В данной области хранятся временные ABAP объекты (Data clusters и параметры для вызывающих программ и транзакций), создаваемые во время выполнения операндов вида IMPORT/EXPORT FROM/TO MEMORY, SUBMIT REPORT, CALL TRANSACTION, CALL DIALOG и так далее (рис. 3). Про эту область я уже упоминал в нескольких своих постах (ссылка 1, ссылка 2).

Рис. 3. Примеры операндов, использующих Paging Area.

Анализ текущего размера и использования Paging Area осуществляется в транзакции ST02 (рис. 4).  

Рис. 4. Мониторинг использования Paging Area.

Возможен так же просмотр не только текущего и максимально использованного размера области, но и исторических данных. Для этого необходимо дважды щелкнуть мышью на имя области "Paging area". По информации на открывшемся экране можно проанализировать, например, в какой день использование данной области достигло своего максимума (рис. 5).

Рис. 5. История использования Roll и Page областей инстанции.

Как вы можете заметить, данные в историю попадают каждый день в 22:28. А это явно не пиковое рабочее время системы. Поэтому большого смысла анализировать значения в поле "Used" на этом экране нет.

Paging Area состоит из двух частей: область в памяти - SAP paging buffer и файл на уровне сервера приложений - SAP paging file. В данном случае (рис. 4) можно заметить, что область заполнена почти на 94%. И если рабочие процессы текущей инстанции будут запрашивать место в Paging Area и дальше (но при этом не освобождать его), то область переполнится. И, как результат, в системе начнут генерироваться системные дампы типа MEMORY_NO_MORE_PAGING (рис. 1 и 2). 

Настройка размера области производится с помощью двух параметров инстанции: rdisp/PG_SHM и rdisp/PG_MAXFS. Единица измерения - блоки по 8 Кб. Первый параметр задаёт размер области Paging Area в оперативной памяти, а второй - общий размер, равный сумме Paging buffer и Paging file. При этом местоположение файла задаётся через параметр DIR_REORG. По умолчанию это /usr/sap/<SID>/<Instance>/data, а имя файла - PAGFIL<Instance_number>.

Чем больше будет часть Paging Area находящаяся в оперативной памяти, тем выше будет производительность операций при работе с ней. В идеале, можно выставить rdisp/PG_SHM = rdisp/PG_MAXFS. Как вы понимаете, в этом случае вся область будет располагаться в оперативной памяти. 

Таким образом, для решения обозначенной в начале поста проблемы, когда в системе генерируются дампы типа MEMORY_NO_MORE_PAGING, достаточно увеличить размер Paging Area. 

Но здесь кроется одна проблема. На системах, основанных на SAP NetWeaver версии 7.0 и ниже, максимальное значение параметра rdisp/PG_MAXFS указано равным 262 144 (рис. 6). Это соответствует размеру области равному 262 144 * 8 Кб = 2 Гб.  

Рис. 6. Описание параметра rdisp/PG_MAXFS в системе SAP NetWeaver 7.0.

Я столкнулся с тем, что на инстанции SAP системы периодически не хватает Paging Area, состоящей из 1,5 Гб в оперативной памяти плюс 500 Мб на диске. И получается, что дальше увеличивать область нельзя.

В этом случае, конечно, можно было бы пойти к ABAP-разработчикам и начать их учить программировать. :) Сказать, что я  со своей стороны сделал, всё что мог, переписывайте программы. Но программировать на ABAP я не умею, да и переписать программу процесс длительный. Поэтому для начала я решил разобраться: а что ещё можно сделать с моей позиции. И нашёл пару SAP notes: 

В этих документах сказано, что ограничение на параметр наложено из-за поддержки 32-битных систем. Такая разрядность систем ограничивает область памяти процесса 2 Гб. Но на практике, даже на такой системе, можно устанавливать размер области = 2 Гб + область памяти. То есть ограничение можно записать в виде rdisp/PG_MAXFS = 250 000 + rdisp/PG_SHM. Параметр rdisp/PG_SHM, в свою очередь, тоже может быть 2 Гб. 

А для 64-битных систем нет даже таких ограничений. Главное, чтобы файловая система поддерживала файлы размером больше 2 Гб. Ну, а предупреждение в транзакции RZ10, можно проигнорировать. 

Аналогичные утверждения верны и для области Roll Area.

В SAP NetWeaver 7.50 такого ограничения уже нет. Может быть в системах между этими релизами то же где-то увеличили максимальное значение. Не удивлюсь, если это было сделано в SAP NetWeaver 7.40. Но, согласно описанию параметра в SAP NetWeaver 7.50, Paging Area уже может достигать 12 500 000 * 8 Кб = 95 Гб (рис. 7).

Рис. 7. Описание параметра rdisp/PG_MAXFS в системе SAP NetWeaver 7.5.

А я на своей старой системе, не смотря на максимальное ограничение в 2 Гб, настроил новый размер Paging Area равный 2 Гб в оперативной памяти и 1 Гб на файловой системе:
rdisp/PG_SHM = 250 000
rdisp/PG_MAXFS = 375 000
Изменения системой после рестарта подхватились успешно (рис. 8). Буду наблюдать за работой системы дальше.

Рис. 8. Размер Paging Area после изменения параметров.

Настроив Paging Area таким образом, теперь уже можно пойти к программистам и научить их программировать попросить их проанализировать код программ на предмет оптимизации использования данного вида памяти. И задача из критической превращается в плановую.

Одновременно из этой истории можно сделать такой вывод: иногда, при установке параметров SAP инстанции предупреждения в RZ10 можно проигнорировать. Главное, чтобы вы были уверены в том, что делаете и понимали базовые процессы в системе. 

Автор: Шиболов Вячеслав Анатольевич


30 апреля 2021 г.

Мастер-класс "SAP ландшафт и основы транспортной системы"

Коллеги, друзья и просто сочувствующие, хочу поделиться новостью. Во вторник, 18 мая 2021 года, я буду проводить мастер-класс на площадке портала "SAPLAND". Мастер-классом назвать, наверное, это событие было бы слишком громко. Скорее это будет лекция "сборная солянка" на тему "SAP ландшафт и транспортная система". 



Попытаюсь за 4 часа рассказать всё, что знаю про транспортную систему в ABAP инстанции SAP системы, собрав в одном материале все нюансы и хитрости. Глубоко вглубь настройки и конфигурации не полезем, но в ширину постараюсь охватить всё. Будем говорить про базовые вещи, которые существуют в SAP системах с версии SAP R/3 3.0 и по сей день. При подготовке стараюсь сделать материал максимально интересным для широкого круга специалистов. Ведь с транспортной системой сталкиваются и консультанты по модулям SAP системы, и ABAP-программисты, и SAP BASIS-консультанты/администраторы.

Если интересно, то регистрируйтесь и приходите. Формат мероприятия - онлайн. 


Автор: Шиболов Вячеслав Анатольевич


27 апреля 2021 г.

Тюнинг настроек памяти AS ABAP инстанции на реальном примере: результаты

В прошлом посте я описал проблему, с которой ко мне обратился коллега. По словам коллеги, SAP система работала медленно, а многие рабочие процессы AS ABAP инстанции переходили в PRIV режим работы. Анализ показал, что размеры буферов и общих областей памяти SAP инстанции нуждаются в корректировке. Мною были составлены рекомендации, которые были успешно применены к системе. И в этом посте мы проанализируем результаты тюнинга. 

Итак, с помощью SAP параметров были увеличены некоторые области памяти и буферы инстанции. В результате этого общая виртуальная память SAP инстанции выросла на 5,5 Гб (рис. 1 и 2).

Рис. 1. Виртуальная память SAP инстанции до корректировки. 

Рис. 2. Виртуальная память SAP инстанции после корректировки.

Но, как вы помните из прошлого поста, объём оперативной памяти сервера составляет 256 Гб, что вполне достаточно для увеличенного объёма памяти SAP инстанции. Поэтому и после увеличения аппетитов SAP инстанции swap область на сервере не используется (рис. 3). А значит  эффективность работы с памятью на уровне операционной системы не упала.

Рис. 3. Вывод команды top на сервере после корректировки.

Корректировки параметров были сделаны 14 апреля. После этого система проработала чуть больше недели. Основной экран транзакции ST02 на данный момент выглядит следующим образом (рис. 4). Инстанция перезагружалась 15 апреля, снимок экрана сделан 23 апреля (1).

Рис. 4. Основной экран транзакции ST02 после корректировки.

Какие выводы, глядя на этот экран, можно сделать:
  1. Из Program Buffer (2) используется почти 800 Мб и на данный момент размера в 1 200 Мб достаточно. Ясно, что предыдущего размера в 300 Мб катастрофически не хватало. Параметры, отвечающие за этот буфер, пока корректировать нет необходимости.
  2. Объёма CUA Buffer (2) системе до сих пор не хватает. Хотя количество swaps снизилось, но буфер надо бы увеличить ещё. Причём, обратите внимание, что не хватает именно объёма, а не максимального количества записей. Кто-то внимательный заметит, что я рекомендовал в прошлый раз размер буфера равный 6 000 Кб, а по факту он стоит 9 000 Кб. Дело в том, что по нему один раз уже были повторные корректировки: 15 апреля поднимали его размер ещё на 3 000 Кб. Поэтому изначальные изменения параметров были сделаны 14 апреля, а инстанция была повторно перезагружена 15 апреля, именно из-за CUA Buffer.
  3. Размер Screen Buffer (2) требованиям системы удовлетворяет гораздо лучше, чем CUA. Можно было бы его не трогать. Но памяти на сервере много и размер буфера не большой, поэтому рекомендуется также немного увеличить и его. 
  4. Пиковое использование области памяти Extended Memory (3) было зафиксировано на уровне 6 Гб. Из этого ясно, что предыдущего объёма в 4 Гб было недостаточно. Система с новыми значениями параметров проработала ещё мало. Но, так как рабочие процессы инстанции используют эту память в большом объёме и, памяти на сервере достаточно, я бы сразу порекомендовал ещё немного её увеличить. А после этого понаблюдать за системой на большем промежутке времени. 
  5. Пиковое использование области Paging Area (3) за это время достигало более 400 Мб при размере области 256 + 256 = 512 Мб. В прошлый общий объём в 256 Мб, опять же, явно система упиралась. На втором шаге корректировки я бы рекомендовал увеличить ту часть этой области, что находится в оперативной памяти, соответственно увеличив общий объём.
Остальные области я бы пока не трогал. И даже буфер Tables: Generic Key, не смотря на наличие 2-х swaps за 8 дней работы. Как показывает практика, небольшое количество swaps при работе этого буфера будет почти всегда.

Напомню ещё раз: угадать с первого раза со 100% точностью оптимальный размер буферов и областей не получится. Обычно процесс настройки состоит из нескольких шагов. Мои рекомендации на данном шаге это необходимость изменить значения следующих параметров:
  • rsdb/cua/buffersize = 12 000
  • zcsa/presentation_buffer_area = 12 000 000
  • em/initial_size_MB = 10 240
  • rdisp/PG_SHM = 65 536
  • rdisp/PG_MAXFS = 98 304


Ну и на последок, давайте посмотрим, а как изменилась производительность системы не по субъективным ощущениям, а по объективным данным - цифрам. 

Базовым показателем производительности системы является среднее время отклика системы. При диалоговом режиме работы пользователей этот параметр - это среднее время отклика системы на шаг диалога. Общее время, которое система обрабатывала диалоговые шаги в рабочих процессах типа DIA, делится на количество выполненных шагов. Получается среднее время выполнения одного шага диалога. 

Корректно настроенная SAP система собирает эту информацию на постоянной основе с помощью служебных фоновых заданий. И результаты собранной статистики можно посмотреть в транзакции ST03 (ST03N). 

Как я уже написал выше, параметры были скорректированы 14 апреля. Посмотрим среднее время отклика системы за следующие недельные периоды:

  • 29.03.2021 - 04.04.2021 (рис. 5),
  • 05.04.2021 - 11.04.2021 (рис. 6),
  • 12.04.2021 - 18.04.2021 (рис. 7),
  • 19.04.2021 - 25.04.2021 (эта неделя) (рис. 8).
Рис. 5. Показатели времени отклика системы за период до корректировки -1.

Рис. 6. Показатели времени отклика системы за период до корректировки - 2.

Рис. 7. Показатели времени отклика системы за период после корректировки - 1.

Рис. 8. Показатели времени отклика системы за период после корректировки - 2.

Такого результата не ожидал даже я. Среднее время реакции системы на шаг диалога сократилось с 3,4 - 4,4 секунды до 0,8 - 0,7 секунды. То есть, как минимум в 4 раза! Сокращение времени отклика произошло за счёт интервалов, когда выполнялась работа на центральном процессоре. То есть раньше вместо расчётов, система занималась борьбой за ресурсы памяти. 

Я думаю, что данный пример наглядно проиллюстрировал важность корректной настройки размеров общих областей памяти и буферов SAP инстанции и их влияние на общую производительность всей системы.


Автор: Шиболов Вячеслав Анатольевич


21 апреля 2021 г.

Тюнинг настроек памяти AS ABAP инстанции на реальном примере

В моём блоге можно найти несколько хороших статей про организацию памяти в AS ABAP инстанции. Во первых, это цикл статей, ссылки на которые доступны в посте "Организация памяти в SAP AS ABAP. Заключение", а во вторых, статьи про буферы инстанции - "SAP буферизация. Заключение". Если вы не читали их, то настоятельно рекомендую ознакомиться.

Не достаточно просто купить сервер с большим объёмом оперативной памяти. Ни сервер приложений SAP, ни база данных не смогут использовать оперативную память больше того предела, который настроен через соответствующие системные параметры. 

Про важность настройки размеров буферов для базы данных Oracle я уже писал в этом посте. 

А что касается сервера приложений SAP, то каждый прекрасно понимает, что буферы и общие области оперативной памяти, используемые инстанцией SAP, имеют непосредственное влияние на производительность всей системы в целом. Причём, недостаточно один раз настроить размеры данных областей и успокоиться. Любая SAP система постоянно развивается: увеличивается количество пользователей, активируется новая функциональность системы, появляются новые процессы и программы, увеличивается объем хранящихся и обрабатываемых данных. Ну и, не в последнюю очередь, периодически обновляется сама система. Поэтому необходимо постоянно следить за тем, как система использует области памяти, отслеживать метрики производительности, анализировать показатели. И если это необходимо, то вносить изменения в конфигурацию через параметры SAP системы. При этом хороший администратор должен делать это до наступления критической ситуации, работая проактивно, а не реактивно. Я надеюсь, что этот пост поможет вам отточить "своё кунг-фу" по тюнингу параметров памяти SAP инстанции. :)

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

Рис. 1. Список рабочих процессов в PRIV режиме.

Для начала необходимо собрать информацию о системе. Версия SAP системы - SAP ERP 6.0 с SAP_BASIS 700 и ядром 7.22 (рис. 2-4).

Рис. 2. Информация по версии системы - 1.

Рис. 3. Информация по версии системы - 2.

Рис. 4. Информация по версии системы - 3.

Платформа, как видно из этих же скриншотов, Solaris (SunOS 5.11), а в качестве базы данных используется Oracle 11.2. 

Основные навыки работы с буферами и областями памяти в SAP инстанции от платформы зависят не сильно, и, в основном, идентичны для всех версий системы.

Оперативной памяти на сервере достаточное количество - 256 Гб (рис. 5). Памяти на уровне операционной системы хватает - область подкачки не используется (рис. 6). При этом мне известно, что весь сервер отдан текущей SAP системе, включающей в себя сервер базы данных и центральную инстанцию SAP.

Рис. 5. Информация из транзакции ST06.

Рис. 6. Вывод команды top на уровне операционной системы сервера. 

Я не знаком с особенностями и нюансами работы с оперативной памятью в операционной системе Solaris, но буду исходить из общих знаний работы Unix с памятью. Читали мой пост про оперативную память в Linux? Всё, что не отдано приложениям, операционная система использует под свои буферы, в частности, под файловый кэш. Но тут мы видим, что даже с учётом этого свободно 12 Гб оперативной памяти. И самый главный критерий, повторюсь, полностью свободная swap область.

Основным буферам базы данных Oracle отдано порядка - 35 Гб и 36 Гб (рис. 7). Суммарно получается около 71 Гб, что так же можно наблюдать у процессов "oracle" на уровне операционной системы (рис. 6). Целесообразность размеров буферов базы данных я здесь рассматривать не буду. У SAP есть рекомендации по параметрам базы данных Oracle, которые отражены в соответствующих SAP notes (вот эта статья, рис. 1). Отмечу лишь тот факт, что хорошая эффективность буфера в текущей системе подтверждена соотношением физических и логических чтений из базы данных (рис. 7). 

Для решения текущей задачи фиксируем, что серверу базы данных отдано порядка 71 Гб общей оперативной памяти. Значит, серверу приложений SAP можно отдать не меньше.

Рис. 7. Информация по производительности Oracle из транзакции ST06.

Вернувшись к основной проблеме, напомню, что переход рабочего процесса в PRIV режим происходит тогда, когда ему не хватает памяти из области Extended Memory и он начинает использовать SAP Heap Memory. Кто не помнит, читаем вот этот пост. Это может происходить, если квота, ограничивающая процессу память из Extended Memory, мала, или же, когда размер этой области слишком мал для текущего количества работающих в системе пользователей.

Основной инструмент для мониторинга использования памяти и буферов SAP инстанции это транзакция ST02. Заглянем в неё на текущей системе (рис. 8). 

Первое на что надо смотреть - когда сделан информационный слепок по системе (1) и время последнего рестарта инстанции (2). Так как во время рестарта происходит сброс всех буферов инстанции и их содержимого соответственно. В данном случае инстанция работает больше 6 месяцев. И для анализа это хорошо. Для основательного анализа желательно, чтобы система работала как минимум пару недель. Тогда собранная статистика будет достаточна. 

Глядя на экран, первое, что бросается в глаза сразу, это большое количество вытеснений из буфера (swaps) для следующих буферов инстанции:
  • Program buffer (3),
  • CUA buffer (3),
  • Screen buffer (3),
  • Tables buffers - оба (4),
  • Export/Import buffer (5).

Рис. 8. Снимок экрана транзакции ST02.

Читая документацию, можно сделать вывод, что определённое количество вытеснений из буферов допускается, но в идеале должно стремиться к нулю. К тому же, если вы заметите, данные буферы имеют очень небольшой размер, а влияние на производительность оказывают существенное. А текущий сервер, как мы уже выяснили, имеет на своём борту достаточное количество свободной оперативной памяти. Как мне кажется, наблюдаемые значения похожи на те, что устанавливаются в этой версии системы по умолчанию после установки, но они малы даже для систем разработки и настройки. 

Так что моя первая рекомендация в данном случае: увеличить вышеперечисленные буферы SAP инстанции. 

Обычно буфер определяется двумя параметрами: максимальный размер в байтах и максимальное количество хранимых записей (поля "Dir. Size"). Но при этом у Program Buffer и CUA Buffer один параметр - размер, а количество записей рассчитывается системой исходя из размера самого буфера. 

Текущие значения ключевых, в данном случае, параметров и рекомендации по их изменению представлены в таблице (рис. 9).

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

Теперь переходим к общей памяти (рис. 8, поле 6). По многим областям зафиксировано достижение максимального размера областей (поле "MaxUse [KB]"). Это означает, что хотя бы однажды за период мониторинга данные заполняли буфер полностью и системе его не хватало. Чаще всего такая ситуация проявляется через генерацию ABAP-дампов того или иного типа. Поэтому тут так же рекомендация - увеличить размеры областей памяти Page Area и Extended Memory. Размер Roll Area пока можно не менять. 

Согласно документации рекомендации по увеличению обоснованы уже при достижении 85% от максимального объёма областей. Помните: действовать проактивно, а не реактивно.

Extended Memory хранится только в оперативной памяти, а Page Area состоит из области в памяти плюс файл на диске. Сначала используется область памяти, а при достижении предела  данные записываются в файл на диске.

Таким образом, мои рекомендации по новым значениям параметров для общих областей памяти представлены в следующей таблице (рис. 10).

Рис. 10. Рекомендации по настройке областей памяти SAP инстанции.

Это лишь первый шаг настройки. После применения параметров, необходимо дать системе поработать, как я уже писал, пару недель. А далее провести анализ использования буферов и областей памяти в той же ST02. И если это необходимо, рассчитать и запланировать следующий шаг настройки.

Текущий объём общей памяти, сконфигурированной для SAP инстанции, составляет примерно 7 Гб ( если прибавить сюда память для рабочих процессов) (рис. 11). Напоминаю, что просмотреть это можно, перейдя в транзакции ST02 -> "Detail Analysis Menu" -> "Storage".

Рис. 11. Общая память, используемая SAP инстанцией.

После применения параметров этот объём увеличится примерно на 5 Гб. Что в текущей системе приемлемо - оперативной памяти сервера достаточно.

Увеличивать параметры следует аккуратно, не спеша. Общие рекомендации следующие:
  • обязательно сохраняйте старые значения изменяемых параметров,
  • если у вас мало опыта, то увеличивайте параметры не резко, нащупывая оптимальное значение,
  • обязательно читайте документацию  по параметрам (начать можно с транзакции RZ11), учитывайте максимальное и минимальное значения,
  • следите за общим размером памяти SAP инстанции,
  • за один шаг не увеличивайте слишком много параметров,
  • при рестарте инстанции будьте готовы к тому, что она не запустится и придётся откатывать значения параметров,
  • если есть где протестировать новые значения параметров (тестовая, учебная системы), то обязательно сделайте это,
  • после изменения параметров пару дней тщательно следите за работой инстанции, осуществляя мониторинг работы системы и использования памяти.


В данном случае я составил рекомендации. Теперь дело за коллегой. Необходимо аккуратно применил новые параметры к SAP системе. При изменении параметров обязательно понадобится перезагрузка SAP инстанции. 

В продолжении можно прочитать про результаты тюнинга и новые рекомендации по тюнингу.


Автор: Шиболов Вячеслав Анатольевич