Нагрузочное тестирование Web-приложений при помощи IBM Rational Performance Tester: Часть 2. Создание и выполнение тестов производительности

Источник: IBM Rational

Устанавливаем Rational Performance Tester

Следующие инструкции будут направлять ваши действия в процессе установки:

  1. Разархивируйте следующие три файла во временный каталог C:\temp.
  • RPT_V7.0_Part_1.zip
  • RPT_V7.0_Part_2.zip
  • RPT_V7.0_Part_3.zip

    После завершения работы архиватора в этом каталоге вы обнаружите три распакованные папки: disk1, disk2 и disk3.

  1. Чтобы начать процесс установки, запустите файл launchpad.exe из папки disk1.
  2. Нажмите мышью на ссылке Install IBM Rational Performance Tester (Includes Agent) (см. рисунок 1).

Рисунок 1. Окно мастера установки Rational
Screen capture

  1. В открывшемся диалоговом окне примите условия лицензионного соглашения и нажмите кнопку Next. Процедура начнется с установки IBM Installation Manager. Согласитесь на его установку в папку по умолчанию и нажмите кнопку Next.
  2. Нажмите кнопку Install, чтобы начать установку IBM Installation Manager, а затем кнопку Finish после окончания процесса установки.
  3. В следующем окне будут показаны устанавливаемые пакеты Rational Performance Tester. Убедитесь, что флажок IBM Rational Performance Tester Version 7.0.0 установлен (рисунок 2), а затем снова нажмите кнопку Next .

Рисунок 2. Установка компонентов Rational Performance Tester
Screen capture

  1. Снова примите условия лицензионного соглашения для установки Rational Performance Tester и нажмите кнопку Next.
  2. В окне с запросом о выборе каталога для хранения общих ресурсов Select a location for the shared resource directory либо укажите новый каталог, либо согласитесь с установкой в каталог по умолчанию, а затем нажмите кнопку Next (рисунок 3).

Рисунок 3. Поле Shared Resources Directory
Screen capture

  1. В следующем окне убедитесь, что установлен флажок Check a new package group, а затем либо согласитесь с установкой Rational Performance Tester в каталог по умолчанию, либо укажите другой каталог. Нажмите кнопку Next. (Рисунок 4).

Рисунок 4. Установочный каталог Rational Performance Tester
Screen capture

  1. Нажимайте кнопку Next в следующих окнах, пока не откроется окно с запросом о выборе устанавливаемых функций Select the Features you want to install. Не изменяя выбора функций по умолчанию, нажмите кнопку Next. (Рисунок 5).

Рисунок 5. Окно выбора функций
Screen capture



В начало


Устанавливаем Rational Agent Controller

  1. Продолжайте нажимать кнопку Next в появляющихся окнах, пока не откроется окно под названием Configure the IBM Rational Agent Controller installation (Настройка установки IBM Rational Agent Controller) (рисунок 6) (IBM® Rational® Agent Controller устанавливается вместе с Rational Performance Tester).
  2. Выберите вариант Typical installation и нажмите кнопку Next.

Рисунок 6. Установка Rational Agent Controller
Screen capture

  1. В окне Summary Information нажмите кнопку Install (рисунок 7).

Рисунок 7. Окно Summary information
Screen capture

  1. После того, как установка успешно завершится, перед вами откроется диалоговое окно, показанное на рисунке 8. Выберите IBM Rational Performance Tester и нажмите кнопку Finish. После этого будет запущен Rational Performance Tester.

Рисунок 8. Уведомление об успешности установки
Screen capture

Создаем и выполняем тест на производительность

Чтобы создать тест на производительность и выполнить его для какого-либо приложения, мы воспользуемся инструментом Rational Performance Tester и запишем последовательность взаимодействий с Web- приложением. Такую последовательность называют сценарием тестирования. Прежде, чем приступить к записи, необходимо составить план сценария тестирования. В примере сценария тестирования в этой статье пользователь должен выполнить вход в приложение DayTrader, приобрести и продать акции, а затем выйти из приложения.

До начала записи теста на производительность необходимо также создать проект, который будет содержать тесты. После этого Rational Performance Tester откроет браузер для записи сценария и генерирования теста. Можно отредактировать сгенерированный тест, добавив в него точки верификации, пулы данных, пользовательский код и другие переменные. В нашем примере мы добавим пул данных, который будет хранить несколько вариантов данных для одного и того же значения. Пул данных, ассоциированный с тестом, при выполнении теста будет заменять значение в тесте данными из пула, тем самым моделируя запросы разных пользователей к серверу.

Чтобы выполнить готовый тест, нам придется создать для этого теста план и группу пользователей. План может содержать одну или много пользовательских групп. Записанные тесты назначаются группе пользователей. Использование планов и групп пользователей позволяет контролировать ход выполнения теста. Например, тест может выполняться последовательно, по случайному алгоритму или с учетом весовых коэффициентов, запускаться с заданным интервалом или повторяться заданное количество раз, выполняться удаленно и моделировать рабочую нагрузку. В нашем примере для сбора статистики в анализируемом элементе страницы в процессе выполнения теста используется опция анализа времени отклика, которая выбирается в плане теста. Анализ времени отклика показывает, сколько времени мы провели на каждой странице, на которой собиралась информация в ходе выполнения теста. Для сбора данных анализа времени отклика должен быть запущен мониторинг DCI.

Перечисленные ниже шаги будут направлять ваши действия от создания до выполнения теста и генерирования отчета для анализа. Для начала работы:

  1. Сначала запустите сервер приложений IBM WebSphere Application Server Community Edition, который, в свою очередь, запустит приложение DayTrader: Start (Пуск)> All Programs (Все программы) > IBM WebSphere > Application Server Community Edition > Start the server.
  2. Запустите Rational Performance Tester и нажмите кнопку OK для сохранения тестовых проектов в папке рабочей области по умолчанию (см. рисунок 9).

Рисунок 9. Выбор рабочей области по умолчанию
Screen capture

1. Создайте тестовый проект для хранения тестов производительности.

  1. Нажмите правой кнопкой мыши в панели Test Navigator, чтобы вывести на экран контекстное меню.
  2. Выберите команды New > Performance Test Project (рисунок 10). Откроется окно New Performance Test Project.

Рисунок 10. Создание тестового проекта.
Screen capture

  1. Введите имя проекта DayTraderProject в поле Project Name и установите флажок Use default location (Использовать папку по умолчанию) (рисунок 11).
  2. Нажмите кнопку Finish, чтобы создать проект.

Рисунок 11. Имя тестового проекта
Screen capture

2. Создаем новый тест для записи сценария тестирования

  1. После того, как проект будет создан, откроется окно Create New Test from Recording (Создание нового теста из записи) (рисунок 12).

Рисунок 12. Диалоговое окно создания теста
Screen capture

  1. Выберите вариант Create Test from New Recording и выделите в списке элемент HTTP Recording. Нажмите кнопку Next.
  2. На странице Select Location for Test Suite выберите DayTraderProject. В поле Test file name введите имя DayTraderTest (рисунок 13).
  3. Чтобы инициализация записывающего модуля началась, нажмите кнопку Finish.

Рисунок 13. Имя для теста
Screen capture

3. Запись сценария тестирования для DayTrader

  1. Записывающий модуль Rational Performance Tester после инициализации откроет новое окно браузера.
  2. Чтобы инициировать приложение DayTrader, в адресной строке браузера введите следующий URL (это URL приложения DayTrader по умолчанию ):
    http://IIC02:8080/daytrader/app
  3. Выполните запись следующего сценария тестирования:
    1. Перейдите на вкладку Trading & Portfolios.
    2. Выполните вход в приложение с именем пользователя и паролем по умолчанию (рисунок 14).

Рисунок 14. Диалоговое окно входа в DayTrader
Screen capture

  1. После того, как на экран будет выведена домашняя страница DayTrader, нажмите мышью на ссылке Quotes/Trade (вверху), чтобы открыть страницу Quotes (рисунок 15).

Рисунок 15. Переход на страницу Quote/Trade
Screen capture

  1. Нажмите кнопку Buy в первой строке таблицы Quote для покупки 100 акций (рисунок 16). Откроется диалоговое окно с подтверждением вашей покупки.

Рисунок 16. Покупка акций
Screen capture

  1. Нажмите мышью на ссылке Portfolio (вверху), чтобы открыть страницу Portfolio пользователя.
  2. Убедитесь, что покупка отражена в разделе Portfolio. На той же самой странице обратите внимание на список пакетов акций.
  3. Затем нажмите кнопку Sell в первой строке таблицы Portfolio , чтобы продать акции (рисунок 17). Откроется диалоговое окно с подтверждением факта продажи.

Рисунок 17. Продажа акций
Screen capture

  1. Еще раз перейдите по ссылке Portfolio, чтобы убедиться, что продажа отражена в списке пакетов акций .
  2. Нажмите кнопку Logoff и закройте окно браузера.

После этого управление перейдет к Rational Performance Tester, который обработает запись и выведет на экран содержание теста.

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

  1. Нажмите правой кнопкой мыши в панели Test Navigator, чтобы вывести на экран контекстное меню.
  2. Выберите команды New > Datapool. Откроется окно New Datapool (рисунок 18).

Рисунок 18. Создание пула данных
Screen capture

  1. В поле Enter or select the parent folder (Введите или выберите имя родительской папки) введите DayTraderProject. В поле Name введите DayTraderDatapool (рисунок 19).
  2. Нажмите кнопку Next.

Рисунок 19. Свойства пула данных
Screen capture

  1. В поле Description для идентификатора входа введите Datapool, а в поле Initial Table Dimension укажите значение 2 column.
  2. Нажмите Finish.
  3. Затем нажмите левой кнопкой мыши в столбце Variable1; откроется диалоговое окно Edit Variable .
  4. Укажите для столбца имя LoginID, а в поле Type введите значение String. После этого нажмите кнопку OK.

Рисунок 20. Диалоговое окно Edit variable 1
Screen capture

  1. Выполните те же шаги для столбца Variable2. Назовите столбец Password, а в поле Type укажите значение String.

Рисунок 21. Диалоговое окно Edit variable 2
Screen capture

Этот пул данных будет содержать пять разных идентификаторов пользователей, от uid:0 до uid:4, как показано в таблице 1.

Таблица 1. Значения User ID и Password

User ID Password
uid:0 xxx
uid:1 xxx
uid:2 xxx
uid:3 xxx
uid:4 xxx

Совет:
для добавления следующей записи нажмите клавишу Enter или нажмите правой кнопкой мыши на последней записи и выберите из контекстного меню команду Add Record.

Рисунок 22. Добавление записи пула данных
Screen capture

Напоминание:
для сохранения пула данных нажмите комбинацию клавиш CRTL-S.

5. Создаем ссылку на использование значений пула данных в DayTraderTest

  1. В панели Test Navigator выделите элемент DayTraderTest, чтобы открыть страницу свойств.
  2. Нажмите правой кнопкой мыши на DayTraderTest и выберите команды Add > Datapool.

Рисунок 23. Добавление пула данных в тест
Screen capture

  1. В открывшемся диалоговом окне Import Datapool выберите следующие параметры:
  • Matching resources: DayTraderDatapool.datapool.
  • Open mode: Shared (per machine)
  • Флажок Wrap when the last row is reached: установлен

Рисунок 24. Выбор пула данных
Screen capture

  1. Чтобы подтвердить выбор пула данных DayTraderDatapool.data для теста DayTraderTest, нажмите кнопку Select. Информация о пуле данных в панели Test Element Details будет обновлена.

Рисунок 25. Свойства элемента "пул данных"
Screen capture

  1. Для сохранения изменений используйте комбинацию клавиш CTRL+S.

6. Создаем ассоциацию между значением идентификатора пользователя (uid) и пароля и столбцом пула данных

  1. Чтобы открыть страницу свойств теста, в панели Test Navigator выделите элемент DayTraderTest.
  2. Разверните страницу Welcome to DayTrader, а затем выберите элемент iic02:8080/daytrader/app.

Рисунок 26. Выбор тестовой страницы
Screen capture

  1. При помощи полосы прокрутки в окне Test Element Details найдите uid и passwd в секции Data (рисунок 27).

Рисунок 27. Тестовое значение, ассоциируемое с пулом данных
Screen capture

  1. Нажмите мышью на значении uid (на рисунке 28 выделено розовым цветом), чтобы вывести на экран меню, и выберите команды Substitute From > Datapool Variable.

Рисунок 28. Подстановка значений при помощи переменной пула данных
Screen capture

  1. Откроется диалоговое окно Select datapool column. Выделите строку Column:LoginID, а затем нажмите кнопку Use Column в нижней части диалогового окна (рисунок 29).

Рисунок 29. Использование значения из пула данных
Screen capture

Значение uid будет выделено зеленым цветом для обозначения ассоциации (рисунок 30).

Рисунок 30. Ассоциированное значение uid
Screen capture

  1. Повторяем шаги, перечисленные до и после рисунка 25, чтобы создать ассоциацию между значением пароля (password) и столбцом password в пуле данных. После ассоциирования пароль выделяется зеленым цветом, как показано на рисунке 31.

Рисунок 31. Ассоциированное значение password
Screen capture

  1. Закончив настройку ассоциаций, снова перейдите на страницу Welcome to DayTrader . Обратите внимание, что таблица Test Data теперь содержит ассоциации (рисунок 32).

Рисунок 32. Ассоциации
Screen capture

  1. Для сохранения изменений используйте комбинацию клавиш CTRL+S.

7. Создаем план теста производительности

  1. В панели Test Navigator нажмите правой кнопкой мыши на проекте DayTraderProject, чтобы вывести на экран контекстное меню, а затем выберите команды New > Performance Schedule (рисунок 33).

Рисунок 33. Создание плана теста производительности
Screen capture

  1. Откроется диалоговое окно Performance Schedule (рисунок 34). Задайте для плана имя DayTraderSchedule.

Рисунок 34. Настройки плана
Screen capture

В окне свойств Performance Schedule (рисунок 35) в секции Schedule Contents, обратите внимание на план DayTraderSchedule с одной группой пользователей. В секции Schedule Element Details на вкладке General по умолчанию установлено количество пользователей (поле Number of users) 5. Это максимальное количество виртуальных пользователей, которое вы можете запускать в данной ознакомительной копии Rational Performance Tester .

Рисунок 35. Окно свойств плана теста производительности, Performance schedule
Screen capture

8. Настраиваем функцию анализа времени отклика в плане на сбор данных

  1. В секции Schedule Element Details, нажмите на кнопке >> (кнопка с символом "вдвое больше"), чтобы вывести на экран дополнительные вкладки.
  2. Перейдите на вкладку Response Time Breakdown (рисунок 36).
    1. Установите флажок Enable collection of response time data (Активировать сбор данных о времени отклика) (рисунок 37).
    2. Установите флажок рядом с тестом DayTraderTest , чтобы задать сбор данных для этого теста.
    3. В секции Options, выберите High в раскрывающемся списке Detail level.
    4. Затем установите флажок Only sample information from a subset of users (Сбор информации только для подмножества пользователей).
    5. Выберите вариант Fixed number of users и введите 2 в поле per User Group.

Рисунок 36. Вкладка Response Time Breakdown
Screen capture


Рисунок 37. Настройки на вкладке Response Time Breakdown
Screen capture

  1. Обязательно сохраните изменения (CTRL+S).

Тест будет добавлен группе пользователей по умолчанию, User Group 1.. Размер группы пользователей по умолчанию означает 100% выполнение на локальном компьютере (рисунок 38). Во втором разделе этой статьи (Часть 3 серии), будут описаны шаги по добавлению дополнительных групп пользователей с ростом пользовательской нагрузки в тесте.

Рисунок 38. Группа пользователей по умолчанию
Screen capture

9. Добавляем тест DayTraderTest в план DayTraderSchedule

  1. В окне свойств Performance Schedule нажмите правой кнопкой мыши на группе User Group 1, и выберите из меню команды Add > Test (рисунок 39).

Рисунок 39. Добавление теста в план
Screen capture

  1. В диалоговом окне Select Performance Tests разверните иерархию проекта DayTraderProject и выделите тест DayTraderTest (рисунок 40).
  2. Нажмите кнопку OK.

Рисунок 40. Выбираем тест DayTraderTest
Screen capture

Тест добавляется в план в группу пользователей User Group 1 (рисунок 41).

Рисунок 41. DayTraderTest добавлен в план
Screen capture

  1. Снова сохраните изменения при помощи CTRL+S.

10. Выполняем тест DayTrader и просматриваем отчеты

  1. Сначала запустите мониторинг DCI (интерфейса преобразования данных) (рисунок 42). В среде Windows: IBM Software Delivery Platform > IBM Rational Data Collection Infrastructure > Start Monitoring.

Рисунок 42. Запуск DCI
Screen capture

  1. В панели Test Navigator нажмите правой кнопкой мыши на элементе DayTraderSchedule, чтобы вывести на экран контекстное меню.
  2. Выберите команды Run As > Performance Schedule (рисунок 43).

Рисунок 43. Запуск теста производительности
Screen capture

Rational Performance Tester запустит программу тестирования, выполнит сбор данных и отобразит результаты в отчетах по завершении сбора данных.

  1. Просмотрите отчеты, размещенные на разных вкладках.

Рисунок 44. Законченный отчет о производительности
Screen capture

Получив готовый отчет о производительности, вы можете экспортировать его копию в форматы HTML, XML или CVS для дальнейшего анализа, распечатки, отображения в окне браузера или просто для того, чтобы переслать отчет кому-нибудь из коллег по электронной почте. Чтобы экспортировать отчет в формат HTML, выполните следующие шаги:

  1. В представлении Performance Test Runs нажмите правой кнопкой мыши на отчете, который нужно экспортировать.
  2. Выберите из меню команду Export To HTML (рисунок 45).

Рисунок 45. Экспорт отчета в HTML-файл
Screen capture

Примечание
если отчет не отображается, нажмите правой кнопкой мыши на элементе DayTraderSchedule и выберите из контекстного меню команду Display Report (рисунок 46).

Рисунок 46. Вывод отчета на экран
Screen capture

  1. Укажите папку и имя файла для сохранения отчета, а затем нажмите кнопку Finish (рисунок 47).

Рисунок 47. Выбор папки и имени HTML-файла для сохранения отчета
Screen capture

  1. Откройте экспортированный отчет и просмотрите его в окне Web-браузера (рисунок 48).

Рисунок 48. Отчет о производительности в формате HTML
Screen capture 

О части 3. Как выполнять тестирование с переменным объемом пользовательской нагрузки

Мы изучили основы тестирования производительности, теперь можно переходить к Части 3 (см. ссылку в разделе Ресурсы), чтобы научиться выполнять тесты производительности с изменяемой пользовательской нагрузкой .

 

Приложение: Развертывание примера приложения DayTrader

  1. Загрузите IBM WebSphere Application Server Community Edition V1.1.0.2 (ссылка в разделе Ресурсы) и установите программу на тот же компьютер, на котором установлен инструмент Rational Performance Tester.
  2. Загрузите IBM DB2 Express-C 9 (см. раздел Ресурсы) и установите программу на тот же компьютер, где установлен Rational Performance Tester.
  3. Загрузите файл DayTrader.zip из раздела Downloads и распакуйте его в корневой каталог вашего диска C:\..
  4. Затем выполните настройку базы данных:
    1. В окне командной строки DB2 создайте базу данных с именем tradedb:
      Команда: db2 create db tradedb
    2. Установите подключение к tradedb с помощью db2admin:
      Команда: db2 connect to tradedb user <db2admin> using <password>
    3. Загрузите схему базы данных для tradedb:
      Команда: db2 -tvf C:\daytrader\modules\db2\sql\Table.ddl

Рисунок 49. Создание и настройка конфигурации базы данных tradedb
Screen capture

Выполните развертывание приложения DayTrader на сервере приложений WebSphere Application Server при помощи следующих шагов:

  1. Внесите в файл C:\daytrader\plans\dayTrader-db2-9.1-XA-plan.xml следующие изменения:
    1. Измените свойства User, Password, DatabaseName и ServerName для TradeDataSource.
    2. Найдите следующие значения (показанные в {квадратных скобках] в листинге 1) и измените их на корректные данные:
      • {db2admin}
      • {db2admin_passwd}
      • {iic02.iicmy.ibm.com}
      • {tradedb}

Листинг 1. Код в файле XML

                
<name>jdbc/TradeDataSource</name>
<config-property-setting
name="User">{db2admin}</config-property-setting>
<config-property-setting
name="Password">{db2admin_passwd}</config-property-setting>
<config-property-setting
name="PortNumber">50000</config-property-setting>
<config-property-setting
name="ServerName">{iic02.iicmy.ibm.com}</config-
property-setting> <config-property-setting
name="DatabaseName">{tradedb}</config-property-setting>
<config-property-setting
name="DriverType">4</config-property-setting>


  1. Сохраните изменения в файл dayTrader-db2-9.1-XA-plan.xml.
  2. Запустите сервер приложений WebSphere Application Server Community Edition, выбрав из главного меню команды Start (Пуск) > IBM WebSphere > Application Server community Edition > Start the server.
  3. Откройте окно командной строки Windows и измените каталог на %WASCE_HOME%\bin.
  4. Выполните развертывание файла daytrader.ear при помощи следующей команды:
    deploy.bat deploy C:\daytrader\modules\ear\target\daytrader-ear-1.1.1.ear c:\daytrader\plans\ dayTrader-db2-9.1-XA-plan.xml
  5. Когда в процессе развертывания система предложит ввести имя пользователя и пароль, введите system в качестве имени пользователя (username) и manager в качестве пароля (password).

Рисунок 50. Развертывание файла daytrader.ear
Screen capture

  1. По завершении развертывания перезапустите WebSphere:
  2. Start (Пуск)> IBM WebSphere > Application Server community Edition > Stop the server
  3. Start (Пуск)> IBM WebSphere > Application Server community Edition > Start the server
  4. Перед тем, как использовать DayTrader, сконфигурируйте приложение следующим образом:
  5. Откройте в Web-браузере URL http://iic02:8080/daytrader/
  6. Перейдите на вкладку Configuration, а затем нажмите левой кнопкой мыши на ссылке (Re)-populate DayTraderDatabase.

Рисунок 51. Заполнение базы данных DayTrader
Screen capture

  1. Операции по заполнению базы данных будут выполняться в новом окне браузера.. Не закрывайте окно браузера до завершения всех операций.
  2. Запишите идентификаторы пользователей ID. Вы будете использовать их для входа в приложение DayTrader . Пароль для всех идентификаторов пользователей - xxx (рисунок 52).

Рисунок 52. Размещение данных в базе данных tradedb
Screen capture


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