Тестване на производителността на мобилни уеб приложения с IBM Rational
Два начина за тестване с помощта на примера на WebSphere Everyplace Mobile Portal (WEMP).
Обикновено инструментът IBM® Rational® Performance Tester (RPT) се използва за генериране на уеб трафик. В някои ситуации обаче, за да се разберат характеристиките на производителността на дадена система, е необходимо да се симулира натоварването от безжични устройства. Тази статия обсъжда методи, които ви позволяват да разрешите този проблем, като използвате наличните RPT функции по нестандартен начин. Сървърът WebSphere® Everyplace Mobile Portal (WEMP) се използва като пример за сървърен компонент, който приема заявки от безжични устройства.
Първи метод. Използване на стандартния браузър Microsoft Internet Explorer
Първият метод използва стандартния браузър Microsoft® Internet Explorer® за конфигуриране на Rational Performance Tester за генериране на заявки за безжично устройство към порталния сървър и събиране на показатели за производителност. Източниците на заявка могат да се различават по стойността на параметъра User-Agent. Например за Internet Explorer стойността на User-Agent е:
Mozilla/4.0 (съвместим; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Можете да замените тази стойност в скрипт на Rational Performance Tester със стойност, която съответства на мобилно или безжично устройство. За да направите такива промени, достатъчно е да редактирате заглавките на заявките в скрипта, генериран от RPT. Впоследствие скриптът автоматично ще приложи тези промени навсякъде, където се използва низът User-Agent.
По-долу са стойностите на низовете на User-Agent за няколко често срещани безжични устройства:
- OpenWave-OPWV-SDK UP.Browser/7.0.2.3.119 (GUI) MMP/2.0 Push/PO
- NokiaN70-NokiaN70-1/1.0552.0.7Series60/3.0Profile/MIDP-2.0Configuration/CLDC-1.1
- NokiaN93-NokiaN93i-1/10.0.025
- Sony Ericssion-SonyEricssonP900/R102
Използване на Rational Performance Tester с Internet Explorer
- Когато използвате RPT браузъра по подразбиране, т.е. Internet Explorer, ще бъде създаден нов проект с име SimpleProject с нов тест за запис на събития.
- След като завършим въвеждането на примерния уеб портал, ще получим страницата за вход в портала, показана на фигура 1.
- Впиши се.
- Запишете последователността от събития и след това спрете записа, като затворите прозореца на браузъра. Примерът на Фигура 2 показва страницата на портала Световен часовник
Фигура 1. Страница за вход в уеб портал
Фигура 2. Страница на портала за световен часовник
В този пример генерираният скрипт се нарича TestClockWeb1. Тестът трябва да използва потребителския агент SonyEricssonP900/R102. Заменихме съответния низ на User-Agent с оригиналния низ за Internet Explorer (Mozilla/4.0 (съвместим; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727), за да симулираме заявка за WAP (Wireless Application Protocol) или заявка за мобилен портал (Фигура 3).
Фигура 3. Параметри на скрипта TestClockWeb1a
- За да промените низа на User-Agent, в заглавката на заявката на скрипта променете стойността за Internet Explorer, за да съответства на мобилното устройство.
- Промяната на линията User-Agent може да се контролира в разделаПротоколни данни на RPT работното пространство след запазване на промените (Фигура 4).
Фигура 4. Раздел Данни на протокола за тестване
- Също така е необходимо да добавите параметри за нови транзакции за най-важните страници, например TPS (транзакции в секунда, транзакции в секунда).
Ще бъде създаден нов план за тестване на производителността, наречен testSchedule.
Забележка: В нашия пример задаваме параметъра за време за мислене на 2 секунди преди тестът да бъде изпълнен (по подразбиране е времето, записано по време на записа на теста).
(В примера, показан на фигура 5, тестовият план ще се изпълнява с 5 потребители и 10 итерации - това е отразено в разделаОбщи.)
Фигура 5. Параметри на testSchedule
- За да разберете дали заявките са от мобилния портал или уеб портала, използвайте наблюдение на регистрационните файлове на порталния сървър. Извадката от журнала, показана в списък 1, показва, че това е пример за WAP заявка.
Листинг 1. Регистърът на порталния сървър показва, че заявката произхожда от WAP портала
- Прегледайте регистрационните файлове, за да разберете от какъв тип устройство е заявката. За този пример ще видите записи, подобни на листинг 2.
Листинг 2. Дневник, показващ типа на устройството
По подобен начин, ако се използва различно устройство и скриптът се модифицира съответно, регистрационните файлове на порталния сървър ще отразяват характеристиките на това устройство. Като алтернатива можете да използвате регистрационните файлове на многоканален сървър (MCS) (списък 3), за да определите типа на устройството, изпратило заявката.
Забележка. Многоканален сървър е WEMP компонент, който генерира специфично съдържание за различни устройства.
За да разрешите регистрирането на MCS, трябва да настроите свойството com.volantis.mcs за отстраняване на грешки във файла mcs-jlog.xml.
Втори метод. Използване на браузъра Mozilla Firefox и модула за разширение Modify Headers.
Вторият метод използва браузъра Mozilla® Firefox®; предпоставка е инсталирането на следните разширени модули за този браузър:
- Промяна на заглавките
- Мобилен XHTML профил
- wmlbrowser
За да приложите този метод, следвайте тези стъпки.
Фигура 6. Модул за разширение на Firefox Modify Header
Фигура 7. Примерна портална страница
Използване на Rational Performance Tester с браузър Mozilla Firefox
За да запишете скрипта и да симулирате натоварването, задайте същите стойности в HTTP Writer в Rational Performance Tester. По време на запис, за да заснемете събития, които симулират трафик от безжични устройства през Firefox, изпълнете следните стъпки.
- Променете браузъра по подразбиране за HTTP Recorder на Mozilla Firefox:
- Изберете от командното менюWindows > Предпочитания > тест > HTTP запис.
- В полетоПриложение изберетеMozilla.
- В полетоПът на приложението въведете пътя до инсталационната директория на Firefox във вашата система.
Забележка: Прозорецът за промяна на заглавката трябва да се отваря и активира само след като Rational Performance Tester е стартирал браузъра Firefox. Ако прозорецът за промяна на заглавката е активиран преди започване на записа, ще бъде върната следната грешка: „Записът НЕ съдържа протоколни данни за който и да е инсталиран генератор на тестове.“ Тази грешка е причинена от липсата на HTTP трафик, насочен през записващото устройство на мрежовия прокси на порт 1080 на локалния сървър.
- Прегледайте страницата и следвайте стъпките за включване в публикацията.
- За да спрете записа, затворете прозорците на браузъра Firefox и добавката Modify Headers.
След това модулът за писане инициира генерирането на скриптаTestSample (Фигура 8). За да се изчислят правилно времето за отговор и транзакциите в секунда, този скрипт трябва да бъде модифициран, за да добавя транзакции за всяка страница. Тази мярка ще ви помогне да разберете промените в производителността, записани по време на процеса на запис.
Записът в този пример включва навигация към първата страница на WPS портала, известна още като Примерна страница. Тази страница съдържа връзки към две други страници на мобилния портал - . svt_portlet_mobile_world_clock и svt_portlet_welcome_page. Процесът на тестов запис навигира през тези страници, след което затваря прозореца на браузъра и записващият RPT автоматично генерира скрипта TestSample.
Фигура 8. Параметри на скрипт TestSample
- След като завършите стъпките, създайте нов план за тестване на производителността, наречен testSchedule (Фигура 9). Този план ще изпълнява скрипта с другивиртуални потребители за симулиране на изпращане на заявки от мобилни устройства Nokia-N70.
Забележка. В този случай времето за размисъл е зададено на 2 секунди (по подразбиране е времето, записано по време на тестовия запис).
Фигура 9. Нов тестов график за тестване на производителността
- След като изпълните плана за сравнение, използвайте наблюдение на регистрационните файлове на порталния сървър, за да видите дали заявките действително симулират натоварване от Nokia-N70 с очаквания MSISDN.
Листинг 4 показва примерна трасировка, която потвърждава симулираното натоварване.
Листинг 4. Примерен изход, потвърждаващ симулираното натоварване
Регистрираният MSISDN номер и ID на потребителския агент съответстват на стойностите, които са посочени и активирани в настройките на добавката за промяна на заглавки, преди тестовата сесия да бъде записана.
Като алтернатива можете да прегледате регистрационните файлове на MCS за други устройства, както е показано в списък 5.
Списък 5. Пример за валидиране на симулация чрез изследване на регистрационните файлове на сървъра
Съвет. За да активирате регистрирането на MCS, задайте свойството com.volantis.mcs във файла mcs-jlog.xml на debug.
Показателите за производителност отразяват производителността по време на изпълнение и предоставят значима информация. Можете да посочите желания брой транзакции за всяка страница.
Симулиране на сценарии от реалния свят с Rational Performance Tester
Въпреки че представените тук стъпки са достатъчно подробни, за да разберете как да използвате Rational Performance Tester за тестване на портлети, те не вземат предвид присъствиетофункции за кеширане. Например, ако едно устройство, Nokia-N70, се използва за изпращане на заявки от различни потребители, тогава могат да се използват данни от MCS/WEMP кеша. За да симулирате сценарии от реалния свят и да получите полезни резултати, ви препоръчваме да използвате функцията за обединяване на данни в Rational Performance Tester и да зададете настройки за натоварване за различни мобилни устройства за различни потребители.