Co jsou časovače?
Ve výchozím nastavení JMeter odešle požadavek bez pauzy mezi jednotlivými požadavky. V takovém případě by JMeter mohl přemoci váš testovací server tím, že v krátkém čase zadá příliš mnoho požadavků.
Představte si, že během několika sekund odešlete tisíce požadavků na testovaný webový server. To se děje!
Časovače umožňují JMeteru zpoždění mezi každým požadavkem, který vlákno učiní. Časovač může vyřešit problém s přetížením serveru .
Také, v reálném životě návštěvníci nepřijdou na webových stránkách všechny najednou, ale v různých časových intervalech. Časovač tedy pomůže napodobit chování v reálném čase.
V tomto výukovém programu se naučíte
- Konstantní časovač
- Gaussian náhodný časovač
- Jednotný náhodný časovač
- Časovač BeanShell
- Časovač BSF
- Časovač JSR223
- Jak používat konstantní časovač
Následuje několik běžných typů časovače v JMeter
Konstantní časovač:
Konstantní časovač zpožďuje každý požadavek uživatele o stejnou dobu.
Gaussian Random Timer:
Gaussův náhodný časovač zpožďuje každý požadavek uživatele o náhodnou dobu.
Parametry:
Atribut | Popis |
---|---|
název | Popisný název tohoto časovače, který je zobrazen ve stromu |
Odchylky (milisekundy) | Parametr Gaussovy distribuční funkce |
Odsazení s konstantním zpožděním (milisekundy) | Další hodnota v milisekundách |
Celkové zpoždění je tedy popsáno na následujícím obrázku:
Jednotný náhodný časovač:
Jednotný náhodný časovač zpožďuje každý požadavek uživatele o náhodnou dobu.
Parametry:
Atribut |
Popis |
---|---|
název |
Popisný název tohoto časovače, který je zobrazen ve stromu |
Maximum náhodného zpoždění |
Maximální náhodný počet milisekund ke zpoždění. |
Odsazení s konstantním zpožděním (milisekundy) |
Další hodnota v milisekundách |
Celkové zpoždění je součtem náhodné hodnoty a hodnoty posunutí.
Časovač BeanShell
Časovač BeanShell lze použít ke generování doby zpoždění mezi každým požadavkem uživatele.
Časovač BSF
Časovač BSF lze použít ke generování zpoždění mezi každým požadavkem uživatele pomocí skriptovacího jazyka BSF.
Časovač JSR223
Časovač JSR223 lze použít ke generování zpoždění mezi každým požadavkem uživatele pomocí skriptovacího jazyka JSR223
Jak používat konstantní časovač
V tomto příkladu použijete Constant Timer k nastavení pevného zpoždění mezi požadavky uživatelů na google.com.
Začněme jednoduchým testovacím skriptem
- JMeter vytvoří jednu žádost uživatele na stránku http://www.google.com 100 krát
- Zpoždění mezi každým požadavkem uživatele je 5 000 ms
Zde je plán tohoto praktického příkladu:
Předpoklad:
Jsme znovu použít na kroky 1 a 2 v tutoriálu JMeter Performance Testing.
Krok 1) Přidejte skupinu vláken
Klikněte pravým tlačítkem na plán testování a přidejte novou skupinu vláken: Přidat -> Vlákna (Uživatelé) -> Skupina vláken
Na ovládacím panelu Skupina vláken zadejte Vlastnosti vlákna následujícím způsobem
Toto nastavení umožňuje JMeter vytvořit jednu žádost uživatele na http://www.google.com v 100 krát
Krok 2) Přidejte prvky JMeter
- Přidat výchozí požadavek HTTP
- Přidat požadavek HTTP
Krok 3) Přidejte konstantní časovač
Klikněte pravým tlačítkem na Skupinu závitů -> Časovač -> Konstantní časovač
Konfigurace zpoždění vlákna 5 000 milisekund
Krok 4) Přidejte výsledky zobrazení do tabulky
Zobrazit výsledky v tabulce zobrazí výsledek testu ve formátu tabulky.
Klikněte pravým tlačítkem na Přidat -> Posluchač -> Zobrazit výsledek v tabulce
Zobrazit výsledky v tabulce se zobrazí níže
Krok 5) Spusťte test
Až budete připraveni spustit test, klikněte na tlačítko Spustit na panelu nabídek nebo na krátkou klávesu Ctrl + R
To je výsledek tohoto testu
Například na výše uvedeném obrázku necháme analyzovat vzorek 2
- Čas zahájení je 22: 05: 01.866
- Doba vzorkování vzorku 2 je 172 ms
- Konstantní časovač : 5 000 ms (podle konfigurace)
- Čas ukončení této ukázky je = 22: 05: 01.866 + 172 + 5000 = 22: 05: 07.038
Ukázka 3 by tedy měla začít v době 22: 05: 07.039 (jak je znázorněno na obrázku výše)
Zpoždění každého vzorku je 5000 ms
Pokud změníte Konstantní časovač na nulu , uvidíte, že se výsledek změní
Nechte analyzovat vzorek 1
- Čas zahájení je 22: 17: 39,141
- Doba vzorkování vzorku 2 je 370 ms
- Konstantní časovač : 0 ms (podle konfigurace)
- Čas ukončení tohoto vzorku je = 22: 17: 39,141+ 370 + 0 = 22: 17: 39,511
Takže Vzorek 2 by měla být zahájena v době, kdy je 22: 17: 39,512 (zobrazeno na obrázku výše)
Odstraňování problémů:
Pokud při spuštění výše uvedeného scénáře narazíte na problém ..., proveďte následující
- Zkontrolujte, zda se připojujete k internetu prostřednictvím serveru proxy. Pokud ano, odeberte proxy.
- Otevřete novou instanci JMeter
- Otevřete TimerTestPlan.jmx v Jmetru
- Poklepejte na skupinu vláken -> Zobrazit výsledek v tabulce
- Spusťte test