Sdílet prostřednictvím


Export výsledků testů ze služby Azure Load Testing pro použití v nástrojích třetích stran

V tomto článku se dozvíte, jak exportovat výsledky testů a reporty zátěžového testování Azure. Výsledky si můžete stáhnout prostřednictvím portálu Azure, jako artefakt ve vašem pracovním postupu CI/CD, v JMeteru pomocí zpětného naslouchacího procesu, v Locust pomocí událostních hooků nebo posluchačských pluginů nebo zkopírováním výsledků z účtu úložiště Azure. Tyto výsledky můžete použít pro vytváření reportů v nástrojích třetích stran nebo při diagnostice selhání testů. Azure Load Testing vygeneruje výsledky testu ve formátu souboru s hodnotami oddělenými čárkami (CSV) a poskytuje podrobnosti o jednotlivých žádostech o aplikaci pro zátěžový test.

Výsledky testů můžete také použít k diagnostice chyb během zátěžového testu. Pole responseCode a responseMessage poskytují další informace o neúspěšných požadavcích. Další informace o zkoumání chyb najdete v tématu Diagnostika neúspěšných zátěžových testů.

Řídicí panel Apache JMeter můžete vygenerovat ze souboru protokolu CSV podle zde uvedených kroků.

Řídicí panel výsledků zátěžového testování Azure si také můžete stáhnout jako sestavu HTML pro offline zobrazení a spolupráci.

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.
  • Zdroj zátěžového testování Azure s dokončeným testovacím během. Pokud potřebujete vytvořit prostředek azure Load Testing, přečtěte si téma Vytvoření a spuštění zátěžového testu.

Formát souboru výsledků testů

Azure Load Testing vygeneruje soubor CSV výsledků testů pro každou instanci testovacího modulu. Zjistěte, jak můžete škálovat zátěžový test.

Azure Load Testing používá formát protokolu CSV Apache JMeter. Další informace o různých polích naleznete v glosáři JMeter v dokumentaci Apache JMeter.

Podrobnosti o jednotlivých žádostech aplikace o spuštění zátěžového testu najdete v souboru výsledků testu. Následující fragment kódu ukazuje výsledek ukázkového testu:

timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,URL,Latency,IdleTime,Connect
1676040230680,104,Homepage,200,OK,172.18.33.7-Thread Group 1-5,text,true,,1607,133,5,5,https://www.example.com/,104,0,100
1676040230681,101,Homepage,200,OK,172.18.33.7-Thread Group 1-3,text,true,,1591,133,5,5,https://www.example.com/,101,0,93
1676040230680,101,Homepage,200,OK,172.18.33.7-Thread Group 1-1,text,true,,1591,133,5,5,https://www.example.com/,98,0,94

Přístup a stažení výsledků a zprávy ze zátěžového testu

Po dokončení zátěžového testu můžete získat přístup k výsledkům zátěžového testu a sestavě HTML prostřednictvím portálu Azure nebo jako artefakt v pracovním postupu CI/CD.

Důležité

Pro zátěžové testy s více než 45 instancemi motoru nebo delší než 3hodinovou dobou testu není soubor výsledků k dispozici ke stažení. Zadní posluchač JMeter můžete nastavit tak, aby exportoval výsledky do datového úložiště podle vašeho výběru, nebo zkopírovat výsledky z kontejneru úložiště účtu. U testů s vzorkovníky většími než 30 bude stažená sestava HTML obsahovat pouze grafy pro data agregovaná ve všech vzorkovníkech. Grafy nebudou zobrazovat vzorková data. Stažená sestava navíc nepodporuje grafy odpovídající metrikám na straně serveru.

Stažení výsledků testu a sestavy HTML pro testovací běh na webu Azure Portal:

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

  2. V levém podokně vyberte Testy , abyste zobrazili seznam testů a pak ho vybrali.

    Snímek obrazovky se seznamem testů pro prostředek Azure Load Testing

    Tip

    Pokud chcete omezit počet testů, které se mají zobrazit v seznamu, můžete použít vyhledávací pole a filtr časového rozsahu.

  3. Soubor výsledků testu si můžete stáhnout jako komprimovanou složku jedním ze dvou způsobů:

    • Vyberte tři tečky (...) vedle spuštění zátěžového testu, se kterým pracujete, a pak vyberte Stáhnout soubor výsledků.

      Snímek obrazovky, který ukazuje, jak stáhnout soubor výsledků pro spuštění zátěžového testu

      Poznámka:

      Spuštění zátěžového testu musí mít stav Hotovo, Zastaveno nebo Neúspěšné , aby byl soubor výsledků k dispozici ke stažení.

    • Vyberte Stáhnout v podokně Podrobnosti o testovacím spuštění. Pokud si chcete výsledky stáhnout, vyberte Výsledky. Vyberte Sestava, abyste stáhli sestavu HTML.

      Snímek obrazovky, který ukazuje, jak stáhnout výsledky testu z podokna Podrobnosti o testovacím spuštění

  4. Ke extrahování složky a přístupu ke staženým souborům můžete použít libovolný nástroj ZIP.

    Snímek obrazovky, který zobrazuje soubor ZIP výsledků testů v seznamu stažené soubory

    Složka výsledků obsahuje samostatný soubor CSV pro každý testovací modul a obsahuje podrobnosti o požadavcích, které testovací modul spustil během zátěžového testu.

    Složka sestavy obsahuje soubor HTML, který poskytuje souhrn provedeného testu a grafy výkonnostních metrik pro offline prohlížení a usnadnění spolupráce.

Export výsledků testů pomocí naslouchacích procesů

U testů založených na JMeterech můžete použít back-endový naslouchací proces JMeter k exportu výsledků testů do databází, jako jsou InfluxDB, MySQL nebo monitorovací nástroje, jako je Azure Application Insights.

Můžete použít výchozí naslouchací procesy back-endu JMeter, naslouchací procesy back-endu z jmeter-plugins.org nebo vlastní back-endový naslouchací proces ve formě souboru archivu Java (JAR).

Následující fragment kódu ukazuje příklad, jak použít backendový naslouchací prvek pro Azure Application Insights v souboru JMeter (JMX).

<BackendListener guiclass="BackendListenerGui" testclass="BackendListener" testname="Backend Listener" enabled="true">
  <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
    <collectionProp name="Arguments.arguments">
      <elementProp name="testName" elementType="Argument">
        <stringProp name="Argument.name">testName</stringProp>
        <stringProp name="Argument.value">jmeter</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="connectionString" elementType="Argument">
        <stringProp name="Argument.name">connectionString</stringProp>
        <stringProp name="Argument.value">Enter your AppInsights connection string</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="liveMetrics" elementType="Argument">
        <stringProp name="Argument.name">liveMetrics</stringProp>
        <stringProp name="Argument.value">true</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="samplersList" elementType="Argument">
        <stringProp name="Argument.name">samplersList</stringProp>
        <stringProp name="Argument.value"></stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="useRegexForSamplerList" elementType="Argument">
        <stringProp name="Argument.name">useRegexForSamplerList</stringProp>
        <stringProp name="Argument.value">false</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="logResponseData" elementType="Argument">
        <stringProp name="Argument.name">logResponseData</stringProp>
        <stringProp name="Argument.value">OnFailure</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="logSampleData" elementType="Argument">
        <stringProp name="Argument.name">logSampleData</stringProp>
        <stringProp name="Argument.value">OnFailure</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
    </collectionProp>
  </elementProp>
  <stringProp name="classname">io.github.adrianmo.jmeter.backendlistener.azure.AzureBackendClient</stringProp>
</BackendListener>

Celý příklad použití back-endového posluchače Azure Application Insights si můžete stáhnout.

Pro testy založené na Locust můžete použít háky událostí nebo zásuvné moduly posluchače.

Kopírujte testovací artefakty z úložného kontejneru účtu

Důležité

Kopírování testovacích artefaktů z kontejneru účtu úložiště je povolené pouze pro zátěžové testy s více než 45 instancemi enginu nebo s délkou trvání testu delší než tři hodiny.

Pokud chcete zkopírovat výsledky testů a soubory protokolů pro testovací běh z účtu úložiště, v portálu Azure:

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

  2. V levém podokně vyberte Testy , abyste zobrazili seznam testů a pak ho vybrali.

    Snímek obrazovky se seznamem testů pro prostředek Azure Load Testing

  3. V seznamu testovacích běhů vyberte testovací běh.

    Snímek obrazovky znázorňující seznam testovacích běhů pro test v prostředku azure Load Testing

    Tip

    Pokud chcete omezit počet testů, které se mají zobrazit v seznamu, můžete použít vyhledávací pole a filtr časového rozsahu.

  4. Na podokně Podrobnosti o testovacím spuštění vyberte Kopírovat artefakty.

    Snímek obrazovky, který ukazuje, jak zkopírovat artefakty testu z panelu

    Poznámka:

    Spuštění zátěžového testu musí být ve stavu Hotovo, Zastaveno nebo Neúspěšné , aby byl soubor výsledků dostupný ke stažení.

  5. Zkopírujte adresu URL SAS kontejneru účtu úložiště.

    Pomocí adresy URL SAS v Průzkumník služby Azure Storage nebo AzCopy můžete zkopírovat soubory CSV výsledků a soubory protokolu pro spuštění testu do účtu úložiště.

    Adresa URL SAS je platná 60 minut od okamžiku, kdy se vygeneruje. Pokud platnost adresy URL vyprší, vyberte Kopírovat artefakty a vygenerujte novou adresu URL SAS.