Sdílet prostřednictvím


Diagnostika neúspěšných zátěžových testů v Azure Load Testing

V tomto článku se dozvíte, jak diagnostikovat a řešit potíže se selháním zátěžových testů ve službě Azure Load Testing. Azure Load Testing nabízí několik možností pro identifikaci původní příčiny neúspěšného zátěžového testu. Můžete například použít řídicí panel zátěžového testu nebo stáhnout výsledky testů nebo soubory protokolu testů pro podrobnou analýzu. Případně nakonfigurujte metriky na straně serveru tak, aby identifikovaly problémy s koncovým bodem aplikace.

Azure Load Testing používá k určení výsledku zátěžového testu dva indikátory:

  • Stav testu: označuje, jestli byl zátěžový test schopen úspěšně spustit a spustit testovací skript až do konce. Stav testu je například neúspěšný, pokud v testovacím skriptu JMeter nebo Locust dojde k chybě, nebo pokud autostop posluchač přerušil zátěžový test, protože selhalo příliš mnoho požadavků.

  • Výsledek testu: označuje výsledek vyhodnocení kritérií selhání testu. Pokud bylo splněno alespoň jedno z kritérií selhání testu, je výsledek testu nastavený na Neúspěšné.

V závislosti na indikátoru můžete k identifikaci původní příčiny selhání testu použít jiný přístup.

Požadavky

  • Účet Azure s aktivním předplatným. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
  • Prostředek pro zátěžové testování Azure, který má dokončený testovací běh. Pokud potřebujete vytvořit prostředek zátěžového testování Azure, přečtěte si téma Vytvoření a spuštění zátěžového testu.

Určení výsledku zátěžového testu

Výsledek zátěžového testu získáte pomocí následujících kroků:

  1. V portálu Azure přejděte ke svému prostředku zátěžového testování.

  2. Výběrem možnosti Testy v levém podokně zobrazíte seznam testů.

  3. Výběrem testu ze seznamu zobrazíte všechna testovací spuštění pro tento test.

    V seznamu testovacích běhů se zobrazí pole Výsledek testu a Stav testu .

    Snímek obrazovky zobrazující seznam testovacích spuštění na webu Azure Portal se zvýrazněním výsledků testu a sloupců stavu testu

  4. Případně vyberte testovací běh, abyste zobrazili řídicí panel zátěžového testu pro testovací běh.

    Snímek obrazovky znázorňující řídicí panel zátěžového testu se zvýrazněním informací o stavu neúspěšného testu

Diagnostikování selhání testů

K diagnostice selhání zátěžového testu můžete použít jiný přístup založený na tom, jestli bylo možné spustit a dokončit testovací skript nebo ne.

Zátěžový test se nepodařilo dokončit.

Pokud se zátěžový test nedokončí, stav testu testovacího spuštění je nastavený na Neúspěšný.

Zátěžový test se nemůže dokončit z několika důvodů. Příklady, proč zátěžový test nedokončí:

  • Testovací skript obsahuje chyby.
  • Testovací skript používá funkce JMeter, které Azure Load Testing nepodporuje. Seznamte se s podporovanými funkcemi JMeter.
  • Testovací skript odkazuje na soubor nebo modul plug-in, který není k dispozici v instanci testovacího modulu.
  • Funkce automatického zastavení přerušila zátěžový test, protože příliš mnoho požadavků selhává a míra chyb překračuje prahovou hodnotu. Přečtěte si další informace o funkcích automatického dokončování ve službě Azure Load Testing.

Pomocí následujících kroků můžete diagnostikovat, že se test nedokončuje:

  1. Ověřte podrobnosti o chybě na řídicím panelu zátěžového testu.
  2. Stáhněte a analyzujte testovací protokoly a identifikujte problémy v testovacím skriptu JMeter.
  3. Stáhněte si výsledky testu a identifikujte problémy s jednotlivými požadavky.

Po dokončení testovacího spuštění můžete také zobrazit přehledy chyb založených na umělé inteligenci pro testovací běh. Vygenerované přehledy obsahují příčinu chyb a vhodnější doporučení. Tato funkce je ve výchozím nastavení zapnutá a můžete ji vypnout v nastavení panelu chyb. Přečtěte si prohlášení společnosti Microsoft o zásadách ochrany osobních údajů.

Poznámka:

Tím, že souhlasíte s používáním přehledů chyb založených na umělé inteligenci, souhlasíte s tím, že AI použije soubory protokolů pro testovací běh k vygenerování doporučení.

Zátěžový test byl dokončen.

Zátěžový test může spustit testovací skript až do konce (stav testu se rovná Dokončeno), ale nemusí projít všemi kritérii selhání testu. Pokud alespoň jedno z kritérií testu nebylo splněno, je výsledek testovacího běhu nastavený na Neprošel.

Následující postup vám pomůže diagnostikovat, že test nesplňuje kritéria testu:

  1. Zkontrolujte kritéria selhání testu na řídicím panelu zátěžového testu.
  2. Zkontrolujte statistiku sampleru na řídicím panelu zátěžového testu a zjistěte, které požadavky v testovacím skriptu můžou způsobit problém.
  3. Zkontrolujte metriky na straně klienta na řídicím panelu zátěžového testu. Volitelně můžete grafy filtrovat pro konkrétní požadavek pomocí ovládacích prvků filtru.
  4. Stáhněte si výsledky testu a získejte informace o chybách pro jednotlivé požadavky.
  5. Ověřte metriky zdraví motoru testovacího motoru a identifikujte možné kolize prostředků v testovacím motoru.
  6. Volitelně můžete přidat komponenty aplikací a monitorovat metriky na straně serveru a identifikovat kritické body výkonu pro koncový bod aplikace.

Stáhněte si protokoly pracovníka Apache JMeter nebo Locust pro váš zátěžový test.

Při spuštění zátěžového testu spustí testovací moduly Azure Load Testing váš testovací skript Apache JMeter nebo Locust. Během zátěžového testu uloží Apache JMeter a Locust podrobné protokolování do protokolů pracovních uzlů. Tyto protokoly pracovních procesů si můžete stáhnout pro každé testovací spuštění na webu Azure Portal. Zátěžové testování Azure generuje protokol pracovních procesů pro každou instanci testovacího modulu.

Poznámka:

Azure Load Testing zaznamenává pouze zprávy protokolu s úrovní WARN nebo ERROR v pracovních protokolech. Pokud chcete získat DEBUG protokoly, viz Spouštění testů v režimu ladění.

Pokud je například problém s testovacím skriptem, stav zátěžového testu je neúspěšný. V protokolech pracovního procesu můžete najít další informace o příčině problému.

Chcete-li stáhnout protokoly pracovních procesů pro testovací běh zátěžového testování Azure, postupujte takto:

  1. Na webu Azure Portal přejděte k prostředku azure Load Testing.

  2. Výběrem možnosti Testy zobrazíte seznam testů a pak ze seznamu vyberete zátěžový test.

  3. V seznamu testovacích běhů vyberte testovací běh, abyste zobrazili řídicí panel zátěžového testu.

  4. Na řídicím panelu vyberte Stáhnout a pak vyberte Protokoly.

    Prohlížeč by nyní měl začít stahovat zkomprimovanou složku, která obsahuje soubor protokolu pracovního uzlu JMeter nebo Locust pro každou instanci testovacího nástroje.

    Snímek obrazovky, který ukazuje, jak stáhnout soubory testovacího protokolu ze stránky s podrobnostmi o testovacím spuštění

  5. K extrahování složky a přístupu k souborům protokolu můžete použít jakýkoli nástroj ZIP.

    Soubor worker.log vám může pomoct s diagnostikou původní příčiny neúspěšného zátěžového testu. Na snímku obrazovky vidíte, že test selhal kvůli chybějícímu souboru.

    Snímek obrazovky znázorňující obsah souboru protokolu JMeter