Использование Rational Performance Tester для выполнения крупномасштабных SAP-тестов

Источник: IBM

Введение

Узнайте, как оптимизировать расширение IBM® Rational® Performance Tester SAP® Protocol Extension для выполнения высокопроизводительного и масштабируемого тестирования SAP-решений с помощью Rational Performance Tester. В этой статье освещаются следующие вопросы:

  • Задание параметров конфигурации для серверов SAP R/3
  • Настройка Rational Performance Tester для выполнения SAP-тестов под нагрузкой
  • Использование передовых методик в SAP-тестах под нагрузкой
  • Типичные ошибки в SAP-тестах под нагрузкой

Задание параметров конфигурации для серверов SAP R/3

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

Зачастую тестировщики производительности находят узкие места в сервере приложений при выполнении тестов под нагрузкой в предпроизводственной среде. Эти узкие места приводят к ошибкам при создании новых подключений с сервера приложений SAP R/3 во время выполнения тестов под нагрузкой. Типичные результаты таких ошибок:

  • Исключительные ситуации подключений.
  • Ошибки пользовательского интерфейса Rational Performance Tester.
  • Таймауты подключений.

Эти результаты могут неправильно интерпретироваться как проблемы на стороне клиента или проблемы инструмента тестирования производительности. В данном разделе рассматриваются некоторые конфигурации сервера SAP R/3, позволяющие обойти узкие места.

Максимальное число одновременных диалогов (CPIC_MAX_CONV)

Клиенты SAP с графическим пользовательским интерфейсов (GUI) подключаются к серверу приложений SAP R/3 с помощью вызова Remote Function Call (RFC) через сокеты TCP/IP, используя для коммуникации стандартный интерфейс Common Programming Interface for Communications (CPIC) консорциума X/Open. Обычно первым узким местом, даже при неполной нагрузке на сервер приложений, становится слой CPIC. Когда тест производительности достигает этого узкого места, в консоли SAP Execution Event Console в Rational Performance Tester начинают накапливаться ошибки подключения SAP вместе с исключениями Max no of conversations of 100 exceeded (превышено максимальное число диалогов, равное 100).

По умолчанию значение MAX_CPIC_CONV равно 100. Этого значения недостаточно для обработки высоких пользовательских и транзакционных нагрузок. Для решения данной проблемы следует увеличить значение в зависимости от сложности транзакций и необходимого уровня параллелизма. Для начала увеличьте значение до 2000.

Параметр MAX_CPIC_CONV устанавливается в среде администратора операционной системы, в которой выполняется приложение SAP R/3. В UNIX®-средах MAX_CPIC_CONV можно установить как переменную среды в файле sapenv_sappib.csh, файле .profile или в любом другом сценарии инициализации оболочки для администратора, обладающего полномочиями на запуск сервера приложений SAP R/3. В Windows параметр MAX_CPIC_CONV устанавливается как переменная среды в профиле администратора.

Параметры шлюза и профиля SAP

Для взаимодействия с внешними клиентами или другими серверами приложений сервер приложений SAP имеет экземпляр установленного сервер-шлюза. Запросы Remote Procedure Call (RPC) по TCP/IP из клиентских приложений на сервер приложений SAP направляются через шлюз SAP. Шлюз SAP может располагаться на одной машине с сервером приложений или представлять собой отдельную машину, используемую для балансировки нагрузки серверов SAP R/3.

Параметры управления памятью и ресурсами имеют большое значение для крупномасштабной обработки.

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

Таблица 1. Параметры шлюза SAP

Имя параметра Описание Значение по умолчанию
gw/cpic_timeout  Указывает максимальное время ожидания подключения. Этот параметр следует увеличить, если во время подключения имеют место таймауты. 20 секунд
gw/max_overflow_size  Этот параметр определяет размер области переполнения в байтах. CPIC-запросы записываются в область переполнения, когда достигается предел gw/max_shm_req_per_conn для CPIC-подключения. 1 МБ
gw/max_shm_req  Этот параметр указывает максимальное число CPIC-запросов, одновременно хранящихся в совместно используемой памяти в шлюзе. 50
gw/max_conn  Указывает максимальное число одновременно активных подключений. 500
gw/max_sys  Указывает максимальное число одновременно подключенных клиентов. 300
rdisp/tm_max_no  Этот параметр ограничивает максимальное число пользователей для каждого экземпляра. 200
rdisp/max_comm_entries  Этот параметр указывает максимальное число точек коммуникации на сервере приложений.
Он позволяет управлять числом RFC/CPIC-подключений на сервере приложений.
500

Оптимальные значения параметров зависят от целого ряда факторов, включая пользовательскую нагрузку, число и характер транзакций. В Rational Performance Tester сценарий тестирования средней сложности, выполняющий нагрузку в 1000 виртуальных пользователей, завершил тесты со следующими значениями:

  • gw/cpic_timeout = 20
  • gw/max_conn = 5000
  • gw/max_sys = 5000
  • gw/max_overflow_size = 25000000
  • gw/max_shm_req = 50
  • rdisp/max_comm_entries = 5000
  • rdisp/tm_max_no = 2000

Описанные выше параметры профиля и шлюза SAP изменяются в интерфейсе SAP GUI с помощью транзакции RZ10.

После подключения к серверу SAP R/3 вызовите транзакцию RZ10. В окне транзакции выберите профиль, где должны быть изменены значения переменных, и нажмите кнопку Change (см. рисунок 1).

Рисунок 1. Изменение параметров SAP R/3 в окне транзакции RZ10

Рисунок 1. Изменение параметров SAP R/3 в окне транзакции RZ10

Примечание.
Выбор профиля определяется архитектурой системы. Для системы SAP R/3 с одним сервером приложений выберите Instance profile, а для системы с несколькими серверами приложений выберите Default profile.

В следующем окне транзакции (см. рисунок 2) отображается список параметров, которые уже созданы в этом профиле. Если изменяемый параметр есть в списке, дважды щелкните на нем левой кнопкой мыши, чтобы вывести окно изменения параметра. Если параметр отсутствует в списке, воспользуйтесь кнопкой Parameter для его создания. В окне изменения параметра (см. рисунок 3) введите нужное значение параметра, а затем нажмите кнопку Copy, чтобы применить изменения к профилю. После внесения изменений перезапускать экземпляр SAP не нужно.

Рисунок 2. Список параметров и создание нового параметра

Рисунок 2. Список параметров и создание нового параметра

Рисунок 3. Изменение параметра SAP

Рисунок 3. Изменение параметра SAP

Настройка Rational Performance Tester для выполнения SAP-тестов под нагрузкой

Используйте рекомендации этого раздела, чтобы настроить Rational Performance Tester для выполнения SAP-тестов под нагрузкой.

Развертывание крупномасштабных SAP-тестов в Rational Performance Tester

Рекомендации по развертыванию крупномасштабных тестов в Rational Performance Tester:

  • Определите по крайней мере один агент для управления виртуальной пользовательской нагрузкой.
    Примечание.
    Не используйте рабочую среду для генерирования виртуальной пользовательской нагрузки.
  • Установите ПО интерфейса SAP GUI в рабочей среде для записи тестов. Установите пользовательский интерфейс на всех генерирующих нагрузку агентских машинах, чтобы управлять нагрузкой.
  • Выполните пробные прогоны тестов производительности SAP, начиная с нескольких виртуальных пользователей. Пробные прогоны помогают выполнить отладку тестов, чтобы гарантировать, что корреляции и динамические подстановки данных будут работать для большого количества пользователей.
  • Обратите внимание, что во время выполнения теста производительности каждый виртуальный пользователь SAP порождает сеанс интерфейса SAP GUI на агентской машине. В SAP-тестах средней сложности один генерирующий нагрузку агент может обрабатывать примерно 25-30 виртуальных пользователей.
  • Если план тестирования состоит только из SAP-тестов низкой сложности, агент может обрабатывать около 50 параллельных сеансов SAP и соответственно 50 виртуальных пользователей.
  • Если план тестирования требует больше виртуальных пользователей, увеличьте пропорционально число агентов в расчете приблизительно 30 виртуальных пользователей на каждого агента.
  • Увеличьте виртуальную пользовательскую нагрузку с помощью библиотеки SAP Java Connector Objects (JCO) в режиме пакетного тестирования Rational Performance Tester. Поскольку виртуальные пользователи библиотеки JCO не создают сеансов пользовательского интерфейса SAP, они используют меньше ресурсов на стороне клиента. Рекомендуется выполнять более высокий процент виртуальных пользователей в режиме пакетного тестирования. В большинстве случаев можно выполнять тест производительности, генерируя 75% виртуальной пользовательской нагрузки библиотекой SAP JCO, а остальные 25% нагрузки - виртуальными пользователями интерфейса SAP GUI.

Настройка плана SAP-теста производительности

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

Выбор статистических данных, собираемых в тесте производительности

В Rational Performance Tester можно настроить план тестирования (см. рисунок 4), выбрав тип данных, получаемых от агентов, частоту получения данных (частоту выборки), а также объем данных (от всех пользователей или от репрезентативной выборки). Для плана с высокой пользовательской нагрузкой необходимо определить, какие параметры оптимальны для тестируемых требований к производительности.

Рисунок 4. Планирование сбора статистики

Рисунок 4. Планирование сбора статистики

Для высокой пользовательской нагрузи в Statistics log level выберите Primary test actions. Этот параметр ограничивает накладные расходы обработки в агентах и рабочей среде при сборе статистики. Для SAP-теста параметр Primary Test Actions включает в себя все действия плана и SAP-окна.

При выполнении плана отображаются отчеты с периодически обновляемой информацией. Частота обновления информации зависит от параметра Statistics sample interval (см. рисунок 4). По умолчанию Statistics sample interval в Rational Performance Tester составляет 5 секунд. Рекомендуется использовать значение в интервале от 30 до 120 секунд.

Отметьте флажок Only store All Hosts statistics, чтобы уменьшить объем сохраняемых статистических данных. Этот параметр позволяет тестировать большие нагрузки в течение более длительного периода времени, используя значительно меньше оперативной памяти. Недостатком применения этого параметра является невозможность получения статистических данных для каждого агента. Однако эти данные обычно не представляют интереса при выполнении большого теста производительности.

Определение уровня журнала тестирования и информации выборки

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

Большая виртуальная пользовательская нагрузка обычно выполняется после устранения всех проблем в индивидуальных тестах и тестах с минимальной пользовательской нагрузкой. Рекомендуется установить уровень сбора данных Primary Test Actions (см. рисунок 5). В этот уровень в дополнение к событиям, касающимся действий плана тестирования, включаются:

  • События вердикта теста, запуска теста и останова теста.
  • События запуска и останова итерации цикла.
  • События запуска и останова транзакции.
  • Информация окна SAP, такая как названия контрольных точек.
Рисунок 5. Настройка уровня журнала тестирования и информации выборки

Рисунок 5. Настройка уровня журнала тестирования и информации выборки

Чтобы задать частоту выборки, отметьте флажок Only sample information from a subset of users, а затем выберите один из вариантов. Число (или процент), которое вы укажете, будет применено к каждой группе пользователей. Если вы используете удаленные группы пользователей, указанное число (или процент) равномерно распределится между удаленными группами. Для нагрузок с большим числом пользователей установите малое значение.

Скрытие пользовательского графического интерфейса для всех виртуальных пользователей

Убедитесь, что во всех SAP-тестах под нагрузкой интерфейс SAP GUI скрыт для всех виртуальных пользователей и для всех тестов плана (см. рисунок 6).

Рисунок 6. Скрытие пользовательского интерфейса SAP в ходе всех тестов

Рисунок 6. Скрытие пользовательского интерфейса SAP в ходе всех тестов

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

Когда время выполнения тестов превышает 24 часа, проблемы использования ресурсов могут вызвать проблемы SAP-клиентов. Режим длительного выполнения повышает надежность продолжительных тестов для протокола SAP за счет их выполнения в нескольких процессах.

Включите режим длительного выполнения для плана SAP в редакторе Performance Schedule Editor (см. рисунок 7).

Рисунок 7. Включение режима длительного выполнения

Рисунок 7. Включение режима длительного выполнения

Для SAP-тестов в режиме длительного выполнения каждый раз, когда число экземпляров теста достигает указанного значения, запускается новый процесс SAP-клиента. Например, для теста под нагрузкой, который использует параметр, показанный на рисунке 7, новый процесс запускается после выполнения 100 тестов.

Использование передовых методик в SAP-тестах под нагрузкой

Перед запуском теста под нагрузкой убедитесь, что тест воспроизводится без ошибок в холостом режиме.

Улучшение показателя успешности продолжительных тестов

Для улучшения выполнения продолжительных тестов используйте следующие рекомендации:

  • Компьютеры агентов должны иметь по крайней мере 2 ГБ оперативной памяти и 10 ГБ свободного дискового пространства. На агентах должна выполняться одна и та же версия IBM Rational Performance Tester и Rational Performance Tester Agent. На компьютере агента отключите антивирусное ПО, экранные заставки и автоматическое обновление. Во время выполнения теста избегайте использования компьютеров агентов для других целей.
  • Делайте отдельные тесты короткими, избегая более 10 итераций цикла в каждом тесте, и достигайте желаемой продолжительности выполнения с помощью циклов в плане тестирования. Количество виртуальных тестировщиков на компьютере агента не должно превышать 20 - 30, а время обработки не должно превышать нескольких секунд.
  • Используйте тесты с минимальным числом точек верификации.

Настройка параметров SAP-клиента для выполнения тестов под нагрузкой

Рекомендации по настройке параметров SAP-клиента:

  • Не используйте тему SAP Signature Theme (см. рисунок 8).
  • Отключите всю анимацию, сняв флажок Activate animated focus на странице SAP GUI Options (см. рисунок 8).
Рисунок 8. Тема SAP Signature Theme и настройка анимации

Рисунок 8. Тема SAP Signature Theme и настройка анимации

  • Во время воспроизведения SAP-тестов не нажимайте на кнопки мыши. Нажатия кнопок мыши могут интерпретироваться скрытым окном интерфейса SAP GUI, что приведет к непредсказуемому поведению.
  • Проектируйте тест таким образом, чтобы значение Screen Throughput оставалось низким. Рекомендуемое значение Screen Throughput составляет примерно 1 экран в секунду для каждого агента.

Настройка записи и воспроизведения пакетного ввода SAP

При выполнении крупномасштабных тестов добавьте к виртуальным пользователям, управляемым SAP-клиентом, виртуальных пользователей, создаваемым SAP-тестами с пакетным вводом. Тесты с пакетным вводом обращаются к серверу SAP R/3 на низком уровне, используя библиотеку SAP JCO. С помощью этой библиотеки Rational Performance Tester обходит интерфейс SAP GUI и получает возможность использовать для нагрузок гораздо меньше памяти и ресурсов процессора. В один и тот же план можно добавлять как обычные, так и пакетные SAP-тесты. Основной целью тестов с пакетным вводом в таких планах является добавление дополнительной нагрузки на сервер SAP R/3 к уже имеющейся нагрузке от обычных тестов. SAP-тесты с пакетным вводом не содержат точек верификации и элементов интерфейса SAP GUI. Таким образом, данные о производительности будут основаны на результатах обычных SAP-тестов.

Пакетный тест можно записать в SAP GUI, если для захвата взаимодействия SAP GUI с сервером SAP R/3 выбрать встроенную программу записи. Это показано на рисунке 9. Программа записи может сохранять собранные данные в текстовом файле.

Рисунок 9. Встроенная программа записи в SAP GUI для тестов с пакетным вводом

Рисунок 9. Встроенная программа записи в SAP GUI для тестов с пакетным вводом

После записи сценария в файл пакетного ввода в SAP GUI в Rational Performance Tester нужно создать новый тест путем импорта файла пакетного ввода. Один тест с пакетным вводом может содержать несколько транзакций (см. рисунок 10).

Рисунок 10. Создание нового SAP-теста из текстового файла записи пакетного ввода

Рисунок 10. Создание нового SAP-теста из текстового файла записи пакетного ввода

В Rational Performance Tester можно настроить свойства подключения JCO на уровне теста для управления параллельными подключениями посредством библиотеки JCO (см. рисунок 11). Библиотека подключений JCO предоставляет возможность повторно использовать подключения из пула. Организация пулов в тесте под нагрузкой помогает ограничить накладные расходы на создание подключений. Она также помогает ограничить число открытых подключений на стороне клиента и сервера SAP R/3.

Рисунок 11. Свойства подключения SAP JCO в Rational Performance Tester

Рисунок 11. Свойства подключения SAP JCO в Rational Performance Tester

Типичные ошибки в SAP-тестах под нагрузкой

В этом разделе описываются некоторые распространенные проблемы SAP-тестов под нагрузкой и способы их преодоления.

Попытка получить все и сразу

Полностью устраните неполадки записи тестов для одного виртуального пользователя, чтобы гарантировать точность потока работ и подстановки данных. После этого воспроизведите записанные тесты с минимальным числом (менее 5) виртуальных пользователей, чтобы убедиться в правильности динамической подстановки пользовательских данных и в успешном выполнении потока работ для всех пользователей. После выполнения теста с минимальной нагрузкой постепенно увеличивайте нагрузку до требуемого уровня. Возможность получить дополнительные измерения по мере роста нагрузки помогает определить узкие места и выяснить их локализацию: конфигурация Rational Performance Tester или сервер SAP R/3.

Ошибка Invalid Control ID при воспроизведении SAP-тестов

При воспроизведении SAP-тестов часто можно наблюдать ошибку Invalid Control ID (недопустимый идентификатор элемента управления). Эту ошибку генерирует SAP GUI, когда вызываемый метод относится к отсутствующему элементу графического интерфейса пользователя. Такое происходит, если элемент управления еще не отобразился в SAP GUI. Данную проблему можно преодолеть путем увеличения времени отображения SAP-экрана или вставки соответствующих задержек в тесты для правильного отображения экранов. Установите надлежащий коэффициент нарастания нагрузки, чтобы все пользователи не могли одновременно войти в систему и начать выполнение транзакций на серверах SAP R/3.

Эта ошибка также может возникать при выборе пользователем записи ввода в модальном диалоговом окне путем нажатия на любой столбец, кроме первого. На рисунке 12 показано, как правильно выбрать запись. На рисунке 13 показан неправильный способ.

Рисунок 12. Выбор записи с помощью первого столбца (правильно)

Рисунок 12. Выбор записи с помощью первого столбца (правильно)

Рисунок 13. Выбор записи путем нажатия на другие столбцы (неправильно

Рисунок 13. Выбор записи путем нажатия на другие столбцы (неправильно)

Загрузка ненужных модальных диалоговых окон в тесте производительности

В SAP GUI в качестве поля ввода для выбора значения из предопределенного набора используется элемент интерфейса GuiComboBox (F4). Чтобы открыть модальное диалоговое окно с предопределенными значениями, нажмите кнопку Help вместе с GuiComboBox. Выберите значение ввода из предопределенных значений. Избегайте использования параметра, показанного на рисунке 15. Вместо этого введите необходимое значение непосредственно в текстовое поле, как показано на рисунке 14. Такой подход помогает избежать появления ресурсоемких, но ненужных всплывающих окон графического пользовательского интерфейса.

Рисунок 14. Прямой ввод требуемого значения (рекомендуется)

Рисунок 14. Прямой ввод требуемого значения (рекомендуется)

Рисунок 15. Выбор значения из модального диалогового окна (не рекомендуется)

Рисунок 15. Выбор значения из модального диалогового окна (не рекомендуется) 

Заключение

В статье объясняется, как оптимизировать серверы SAP R/3 и Rational Performance Tester для выполнения тестов с высокой пользовательской нагрузкой. Кроме того, статья описывает некоторые передовые методики и типичные ошибки при использовании Rational Performance Tester для тестирования производительности серверов SAP R/3.


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=36977