Zaznamenaný skript môže simulovať virtuálneho používateľa; samotný záznam však nemusí stačiť na replikáciu „skutočného správania používateľa“.
Keď je skript zaznamenaný, pokrýva jeden a priamy priebeh predmetnej aplikácie. Skutočný používateľ môže pred odhlásením vykonať viac iterácií ľubovoľného procesu. Oneskorenie medzi klikaním na tlačidlá (čas premýšľania) sa bude líšiť od človeka k človeku. Je pravdepodobné, že niektorí skutoční používatelia pristupujú k vašej aplikácii cez DSL a niektorí k nej prostredníctvom telefonického pripojenia. Takže, aby sme získali skutočný pocit koncového používateľa, musíme vylepšiť naše skripty, aby boli v presnej zhode alebo aby sa správaním aspoň veľmi podobali skutočným používateľom.
Vyššie uvedené je najdôležitejšie hľadisko pri uskutočňovaní „Testovania výkonu“, ale skript VU má viac. Ako určíte presný čas, ktorý VUser potrebuje, keď SUL prechádza testom výkonnosti? Ako by ste vedeli, či VUser v určitom okamihu prešiel alebo zlyhal? Čo je príčinou zlyhania, či už zlyhal nejaký backendový proces alebo boli obmedzené zdroje servera?
Musíme vylepšiť náš skript, aby sme mohli odpovedať na všetky vyššie uvedené otázky.
- Používanie transakcií
- Pochopenie Think Time, Rendezvous Points a Comments
- Vkladanie funkcií cez menu
- Čo je to parametrizácia?
- Nastavenia doby behu a ich vplyv na simuláciu VU
- Spustiť logiku
- Tempo
- Log
- Think Times
- Simulácia rýchlosti
- Emulácia prehliadača
- Proxy
Používanie transakcií
Transakcie sú mechanizmy na meranie času odozvy servera na každú operáciu. Jednoducho povedané, použitie výrazu „Transakcia“ pomáha zmerať čas, ktorý systém potrebuje na vykonanie konkrétnej požiadavky. Môže to byť malé ako kliknutie na tlačidlo alebo volanie AJAX po strate pozornosti z textového poľa.
Uplatňovanie transakcií je jednoduché. Pred napísaním žiadosti na server stačí napísať jeden riadok kódu a po ukončení žiadosti transakciu uzavrieť. LoadRunner vyžaduje ako názov transakcie iba reťazec.
Na otvorenie transakcie použite tento riadok kódu:
lr_start_transaction („Názov transakcie“);
Na uzavretie transakcie použite tento riadok kódu:
lr_end_transaction („Názov transakcie“,);
- LR_AUTO
- LR_PASS
- LR_FAIL
Príklad:
lr_end_transaction („Moje_prihlásenie“, LR_AUTO);
lr_end_transaction („Business_Workflow_Transaction Name“, LR_FAIL);
Body, ktoré je potrebné poznamenať:
- Nezabudnite, že pracujete s písmenom „C“ a v tomto jazyku sa rozlišujú veľké a malé písmená.
- V názve transakcie nie je povolený znak bodka (.), Aj keď môžete použiť medzery a podčiarkovník.
- Ak ste svoj kód dobre rozvetvili a pridali ste kontrolné body na overenie odpovede zo servera, môžete použiť vlastné spracovanie chýb, napríklad LR_PASS alebo LR_FAIL. V opačnom prípade môžete použiť LR_AUTO a LoadRunner automaticky spracuje chybu servera (HTTP 500, 400 atď.)
- Pri uplatňovaní transakcií sa uistite, že nie je vložený príkaz think_time, inak bude vaša transakcia vždy obsahovať toto obdobie.
- Pretože LoadRunner vyžaduje ako názov transakcie konštantný reťazec, bežným problémom pri uplatňovaní transakcie je nesúlad reťazca. Ak pri otvorení a uzavretí transakcie zadáte iné meno, vyskytnú sa minimálne 2 chyby. Pretože transakcia, ktorú ste otvorili, nikdy nebola uzavretá, program LoadRunner spôsobí chybu. Transakcia, ktorú sa pokúšate uzavrieť, navyše nikdy nebola otvorená, čo malo za následok chybu.
- Môžete využiť svoju inteligenciu a odpovedať si sami na seba, ktorá z vyššie uvedených chýb bude nahlásená ako prvá? Prečo si svoju odpoveď nepotvrdíš, aby si potvrdil svoju odpoveď? Ak ste odpovedali správne, ste na dobrej ceste. Ak ste odpovedali zle, musíte sa sústrediť.
- Pretože LoadRunner sa automaticky stará o synchronizáciu požiadaviek a odpovedí, nebudete sa musieť pri aplikovaní transakcií obávať reakcie.
Pochopenie Think Time, Rendezvous Points a Comments
Rendezvous Points
Rendezvous Points znamená „body stretnutia“. Je to len jeden riadok vyhlásenia, ktorý hovorí LoadRunneru, aby zaviedol súbežnosť. Vkladáte body stretnutia do skriptov VUser, aby ste emulovali veľké zaťaženie používateľa na serveri.
Body stretnutia nariaďujú VUserovi, aby počas vykonávania testu počkal, kým viac VUser dorazí do určitého bodu, aby mohli súčasne vykonať úlohu. Napríklad na emuláciu špičkového zaťaženia na bankovom serveri môžete vložiť miesto stretnutia, ktoré dáva príkazu 100 VUserovi vložiť hotovosť na svoje účty súčasne. To sa dá ľahko dosiahnuť pomocou stretnutia.
Ak body stretnutia nie sú správne, VUser bude mať prístup k rôznym častiam aplikácie, a to aj pre ten istý skript. Je to preto, lebo každý VUser má iný čas odozvy, a preto zaostáva len málo používateľov.
Syntax: lr_rendesvous („Logický názov“);
Osvedčené postupy:
- Pre lepšiu čitateľnosť kódu vložte pred miesto stretnutia bodku „rdv_“; napr. „rdv_Login“
- Odstráňte všetky okamžité výkazy času na premýšľanie
- Aplikovanie bodov stretnutia v zobrazení skriptu (po zaznamenaní)
Pripomienky
Pridajte komentáre, ktoré popisujú činnosť, časť kódu alebo riadok kódu. Komentáre umožňujú, aby bol kód zrozumiteľný pre všetkých, ktorí na neho v budúcnosti budú odkazovať. Poskytujú informácie o konkrétnej prevádzke a na rozlíšenie sú rozdelené do dvoch častí.
Môžete pridávať komentáre
- Počas nahrávania (pomocou nástroja)
- Po nahrávaní (priame napísanie kódu)
Osvedčený postup: Označte všetky komentáre navrchu každého súboru skriptu
Vkladanie funkcií cez menu
Aj keď môžete priamo písať jednoduché riadky kódu, na vyvolanie funkcie budete pravdepodobne potrebovať indíciu. Môžete tiež použiť nástroj Kroky Toolbox (známy ako Vložiť funkciu pred verziou 12) a vyhľadať a vložiť ľubovoľnú funkciu priamo do svojho skriptu.
Panel nástrojov Kroky nájdete v časti Zobraziť à Kroky.
Týmto sa otvorí bočné okno a pozrite sa na snímku:
Čo je to parametrizácia?
Parameter v VUGen je kontajner, ktorý obsahuje zaznamenanú hodnotu, ktorá, sa pre rôznych užívateľov.
Počas vykonávania skriptu (vo VUGen alebo Controller) nahradí hodnota z externého zdroja (ako .txt, XML alebo databáza) predchádzajúcu hodnotu parametra.
Parametrizácia je užitočná napríklad pri odosielaní dynamických (alebo jedinečných) hodnôt na server; obchodný proces vyžaduje spustenie 10 iterácií, ale zakaždým výber jedinečného používateľského mena.
Pomáha tiež pri stimulácii skutočného správania k systému subjektu. Zoznámte sa s príkladom nižšie:
Príklady problémov:
Obchodný proces funguje iba pre aktuálny dátum, ktorý pochádza zo servera, a preto ho nemožno odoslať ako pevne zakódovanú požiadavku.
Niekedy klientská aplikácia predá serveru jedinečné ID (napríklad session_id), aby mohol proces pokračovať (aj pre jedného používateľa) - v takom prípade pomôže parametrizácia.
Klientská aplikácia často udržiava vyrovnávaciu pamäť údajov odosielaných na server a zo servera. Výsledkom je, že server neprijíma skutočné správanie používateľa (v prípade, že server spúšťa iný algoritmus v závislosti od kritérií vyhľadávania). Aj keď sa skript VUser úspešne spustí, vykreslené štatistické údaje o výkonnosti nebudú mať zmysel. Používanie rôznych údajov prostredníctvom parametrizácie pomáha emulovať činnosť na strane servera (procedúry atď.) A precvičovať systém.
Dátum, ktorý je počas nahrávania pevne zakódovaný vo VUser, už nemusí byť platný, keď tento dátum uplynul. Parametrizácia dátumu umožňuje úspešné vykonanie VUser nahradením pevne zakódovaného dátumu. Takéto polia alebo požiadavky sú správnymi kandidátmi na parametrizáciu.
Ak video nie je prístupné, kliknite sem
Nastavenia doby behu a ich vplyv na simuláciu VU
Nastavenia doby behu nesú rovnako významné hodnoty ako váš skript VUGen. S rôznymi konfiguráciami môžete získať rôzne vzory testov. To je dôvod, prečo môžete dosiahnuť neopakovateľné výsledky, ak nastavenia doby behu nie sú konzistentné. Poďme diskutovať každý atribút jeden po druhom.
Spustiť logiku
Funkcia Run Logic definuje počet uskutočnení všetkých akcií, s výnimkou vuser_init a vuser_end.
Pravdepodobne to objasňuje, prečo LoadRunner navrhuje ponechať celý prihlasovací kód v rámci vuser_init a časť Logout vo vuser_end.
Ak ste vytvorili viac akcií, povedzme: Prihlásiť sa, Otvoriť obrazovku, Vypočítať výpožičku, Odoslať prostriedky, Skontrolovať zostatok a odhlásiť sa, potom sa pre každého VUsera uskutoční nasledujúci scenár:
Všetci používatelia sa prihlásia, vykonajú otvorenú obrazovku, vypočítajú výpožičku, predložia prostriedky, skontrolujú zostatok - potom znova otvoria obrazovku, vypočítajú výpožičky… a tak ďalej - opakujú sa 10-krát - nasleduje odhlásenie (raz).
Toto je silné nastavenie, ktoré umožňuje správať sa viac ako skutočný používateľ. Pamätajte, že skutočný používateľ sa neprihlasuje a odhlasuje zakaždým - zvyčajne opakuje rovnaké kroky.
Koľkokrát kliknete na „doručenú poštu“ pri kontrole e-mailu pred odhlásením?
Tempo
Toto je dôležité. Ľudia väčšinou nie sú schopní pochopiť rozdiel medzi stimuláciou a časom premýšľania. Jediný rozdiel je v tom, že „stimulácia sa vzťahuje na oneskorenie medzi iteráciami“, zatiaľ čo čas myslenia je oneskorenie medzi akýmikoľvek 2 krokmi.
Odporúčané nastavenie závisí od návrhu skúšky. Ak však chcete mať agresívne zaťaženie, zvážte výber možnosti „Len čo skončí predchádzajúca iterácia“
Log
Denník (ako sa všeobecne chápe) je účtovníctvo všetkých udalostí počas spustenia nástroja LoadRunner. Môžete povoliť denník, aby ste vedeli, čo sa deje medzi vašou aplikáciou a serverom.
LoadRunner poskytuje výkonný logovací mechanizmus, ktorý je sám o sebe robustný a škálovateľný. Umožňuje vám uchovať iba „Štandardný protokol“ alebo podrobný, konfigurovateľný rozšírený protokol alebo ho úplne zakázať.
Štandardný protokol je informatívny a ľahko zrozumiteľný. Obsahuje len to správne množstvo znalostí, ktoré obvykle budete potrebovať pri riešení problémov so skriptmi VUser.
V prípade rozšíreného denníka sú všetky štandardné informácie denníka podmnožinou. Ďalej môžete mať substitúciu parametrov. Toto informuje komponent LoadRunner, aby obsahoval úplné informácie o všetkých parametroch (z parametrizácie) vrátane požiadaviek, ako aj údaje o odpovediach.
Ak uvediete „Údaje vrátené serverom“, bude váš protokol trvať dlho. To bude zahŕňať všetky HTML, značky, zdroje, informácie o iných zdrojoch, ktoré sú obsiahnuté priamo v protokole. Táto možnosť je dobrá, iba ak potrebujete vážne riešenie problémov. Vďaka tomu je logovací súbor zvyčajne veľmi veľký a nie ľahko zrozumiteľný.
Ako ste už mohli hádať, ak sa rozhodnete pre funkciu „Advance Trace“, váš súbor protokolu bude obrovský. Musíte to vyskúšať. Všimnete si, že sa výrazne zvýšil aj čas, ktorý VUGen vzal, aj keď to nebude mať žiadny vplyv na čas odozvy transakcie nahlásený VUGenom. Toto sú však veľmi podrobné informácie a môžu byť užitočné, ak rozumiete predmetnej aplikácii, komunikácii medzi klientom a serverom medzi vašou aplikáciou a hardvérom, ako aj podrobnostiam na úrovni protokolu. Zvyčajne sú tieto informácie v podstate mŕtve, pretože na ich pochopenie a riešenie problémov je potrebné vynaložiť extrémne úsilie.
Tipy:
- Bez ohľadu na to, koľko času trvá VUGen, keď je povolený protokol, nemá to žiadny vplyv na čas odozvy transakcie. Spoločnosť HP nazýva tento jav ako „najmodernejšiu technológiu“.
- Zakážte protokol, ak to nie je potrebné.
- Po dokončení skriptov zakážte protokol. Zahrnutie skriptov so zapnutým protokolovaním spôsobí, že radič bude pracovať pomalšie a bude hlásiť nepríjemné správy.
- Zakázaním protokolu sa zvýši kapacita maximálneho počtu používateľov, ktorých môžete simulovať pomocou nástroja LoadRunner.
- Zvážte použitie možnosti „Odoslať správu, iba ak sa vyskytne chyba“ - stlmíte tak nepotrebné informačné správy a nahlásite iba správy súvisiace s chybou.
Think Times
Think Time je jednoducho oneskorenie medzi dvoma krokmi.
Think Time pomáha replikovať správanie používateľov, pretože žiadny skutočný používateľ nemôže používať žiadnu aplikáciu ako stroj (VUGen). VUGen generuje čas na premýšľanie automaticky. Stále máte úplnú kontrolu nad odstránením, znásobením alebo kolísaním trvania času na premýšľanie.
Napríklad pre lepšie pochopenie môže používateľ otvoriť obrazovku (to je odpoveď, po ktorej nasleduje žiadosť) a potom môže zadať svoje používateľské meno a heslo pred stlačením klávesu Enter. Ďalšia interakcia aplikácie so serverom sa uskutoční po kliknutí na tlačidlo „Prihlásiť sa“. Čas, ktorý používateľ potreboval na zadanie svojho používateľského mena a hesla, je Think Time v aplikácii LoadRunner.
Ak chcete simulovať agresívne zaťaženie aplikácie, zvážte úplné zakázanie času na premýšľanie.
Ak však chcete simulovať skutočné správanie, môžete použiť možnosť „Čas náhodného myslenia používateľa“ a nastaviť požadované percentá.
Zvážte použitie limitu Think Time na zákonné obdobie. Zvyčajne je 30 sekúnd dosť dobrých.
Simulácia rýchlosti
Simulácia rýchlosti sa jednoducho vzťahuje na kapacitu šírky pásma pre každý klientský počítač.
Pretože simulujeme tisíce VUserov cez LoadRunner, je úžasné, ako jednoduchý je LoadRunner pre riadenie simulácie šírky pásma / rýchlosti siete.
Ak ste zákazníkmi, ktorí pristupujú k vašej aplikácii cez 128 Kbps, môžete ju ovládať odtiaľto. Budete simulovať „skutočné správanie“, ktoré by malo pomôcť pri získavaní správnych štatistík výkonnosti.
Najlepšie urobíte, ak nastavíte možnosť Použiť maximálnu šírku pásma. Pomôže to ignorovať akékoľvek prekážky výkonu súvisiace so sieťou a najskôr sa zamerať na potenciálne problémy v aplikácii. Test môžete kedykoľvek spustiť viackrát, aby ste videli rozdielne správanie za rôznych okolností.
Emulácia prehliadača
Skúsenosti používateľov nezávisia od prehliadača, ktorý koncový používateľ používa. Je zrejmé, že to presahuje rámec výkonnostných opatrení. Môžete si však zvoliť, ktorý prehliadač chcete emulovať.
Dokážete si odpovedať, kedy presne bude skutočne záležať na výbere správneho prehliadača v tejto konfigurácii?
Túto konfiguráciu použijete, ak ste predmetom aplikácie je webová aplikácia, ktorá vracia rôzne odpovede pre rôzne prehliadače. Napríklad si môžete pozrieť rôzne obrázky a obsah pre IE a Firefox atď.
Ďalším dôležitým nastavením je Simulovať medzipamäť prehliadača. Ak chcete zistiť čas odozvy, keď je povolená vyrovnávacia pamäť, začiarknite toto políčko. Ak hľadáte najhoršiu situáciu, samozrejme to nie je úvaha.
Stiahnutie zdrojov iných ako HTML umožní aplikácii LoadRunner stiahnuť všetky CSS, JS a ďalšie multimediálne súbory. Toto by malo zostať skontrolované. Ak to však chcete vylúčiť zo svojho návrhu testu výkonnosti, môžete začiarknutie tohto políčka zrušiť.
Proxy
Najlepšie je proxy z testovacieho prostredia úplne vylúčiť - výsledky testu tak budú nespoľahlivé. Môžete sa však stretnúť so situáciami, keď je to nevyhnutné. V takejto situácii vám program LoadRunner uľahčí nastavenie servera proxy.
Budete pracovať (alebo by ste mali pracovať) s nastavením Žiadne proxy. Môžete ich získať z predvoleného prehľadávača. Nezabudnite však skontrolovať, ktorý prehliadač je nastavený na predvolené a aká je konfigurácia servera proxy pre predvolený prehliadač.
Ak používate proxy a vyžaduje autentifikáciu (alebo skript), môžete kliknúť na tlačidlo Overiť, ktoré vedie do nového okna. Pozri nasledujúcu snímku obrazovky.
Táto obrazovka slúži na zadanie používateľského mena a hesla na autentifikáciu na serveri proxy. Kliknutím na OK zatvorte obrazovku.
Gratulujem. Konfigurácia skriptu VUGen je hotová. Nezabudnite to nakonfigurovať pre všetky svoje skripty VUser.