Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto kurzu se naučíte identifikovat kritické body výkonu ve webové aplikaci pomocí azure Load Testing. Simulujete zatížení ukázkové webové aplikace Node.js a pak použijete řídicí panel zátěžového testu k analýze metrik na straně klienta a na straně serveru.
Ukázková aplikace se skládá z webového rozhraní API Node.js, které komunikuje s databází NoSQL. Webové rozhraní API nasadíte do webových aplikací azure App Service a jako databázi použijete službu Azure Cosmos DB.
V tomto návodu se naučíte, jak:
- Nasaďte ukázkovou aplikaci.
- Vytvořte a spusťte zátěžový test.
- Přidejte do zátěžového testu komponenty aplikace Azure.
- Pomocí řídicího panelu zátěžového testu identifikujte kritické body výkonu.
Požadavky
- Účet Azure s aktivním předplatným. Pokud nemáte předplatné Azure, vytvořte si bezplatný účet před zahájením.
- Rozhraní příkazového řádku Azure nainstalované na místním počítači.
- Azure CLI verze 2.2.0 nebo novější Spuštěním příkazu vyhledejte
az --versionverzi nainstalovanou na vašem počítači. Pokud potřebujete nainstalovat nebo upgradovat Azure CLI, přečtěte si, jak nainstalovat Azure CLI. - Visual Studio Code. Pokud ho nemáte, stáhněte si ho a nainstalujte.
- Git. Pokud ho nemáte, stáhněte si ho a nainstalujte.
Kontrola předpokladů
Než začnete, ověřte své prostředí:
Přihlaste se k webu Azure Portal a zkontrolujte, jestli je vaše předplatné aktivní.
Spuštěním příkazu
az --versionzkontrolujte verzi Azure CLI v terminálu nebo příkazovém okně. Nejnovější verzi najdete v nejnovějších poznámkách k vydání.Pokud nemáte nejnovější verzi, aktualizujte instalaci podle průvodce instalací operačního systému nebo platformy.
Nasazení ukázkové aplikace
V tomto kurzu generujete zatížení pro ukázkovou webovou aplikaci, kterou nasadíte do služby Azure App Service. K nasazení ukázkové aplikace ve vašem předplatném Azure použijte příkazy Azure CLI, příkazy Gitu a příkazy PowerShellu.
Otevřete Windows PowerShell, přihlaste se k Azure a nastavte předplatné:
az login az account set --subscription <your-Azure-Subscription-ID>Naklonujte zdrojové úložiště ukázkové aplikace:
git clone https://github.com/Azure-Samples/nodejs-appsvc-cosmosdb-bottleneck.gitUkázková aplikace je Node.js aplikace, která se skládá z webové komponenty Azure App Service a databáze Azure Cosmos DB. Úložiště obsahuje skript PowerShellu, který nasadí ukázkovou aplikaci do předplatného Azure. Obsahuje také skript Apache JMeter, který použijete v dalších krocích.
Přejděte do adresáře aplikace Node.js a pomocí tohoto skriptu PowerShellu nasaďte ukázkovou aplikaci:
cd nodejs-appsvc-cosmosdb-bottleneck .\deploymentscript.ps1Tip
PowerShell můžete nainstalovat v Linuxu nebo WSL nebo macOS.
Po instalaci můžete spustit předchozí příkaz jako
pwsh ./deploymentscript.ps1.Na příkazovém řádku zadejte:
- ID vašeho předplatného Azure
- Jedinečný název vaší webové aplikace.
- Lokace. Ve výchozím nastavení je
eastusumístění . Kódy oblastí můžete získat spuštěním příkazu Get-AzLocation .
Důležité
Pro název vaší webové aplikace používejte jenom malá písmena a číslice. Nepoužívejte mezery ani speciální znaky.
Po dokončení nasazení přejděte do spuštěné ukázkové aplikace tak, že otevřete
https://<yourappname>.azurewebsites.netokno prohlížeče.
Teď, když máte nasazenou a spuštěnou ukázkovou aplikaci, můžete vytvořit prostředek zátěžového testování Azure a zátěžový test.
Vytvoření zátěžového testu
V tomto kurzu vytváříte zátěžový test pomocí Azure CLI tak, že nahrajete testovací skript JMeter (jmx soubor). Úložiště ukázkové aplikace již obsahuje konfigurační soubor zátěžového testu a testovací skript JMeter.
Pokud chcete vytvořit zátěžový test pomocí webu Azure Portal, postupujte podle kroků v rychlém startu: Vytvořte zátěžový test pomocí skriptu JMeter.
Pomocí následujícího postupu vytvořte prostředek zátěžového testování Azure a zátěžový test pomocí Azure CLI:
Otevřete okno terminálu a zadáním následujícího příkazu se přihlaste k předplatnému Azure.
az loginPřejděte do adresáře ukázkové aplikace.
cd nodejs-appsvc-cosmosdb-bottleneckVytvořte skupinu prostředků pro prostředek zátěžového testování Azure.
Volitelně můžete znovu použít také skupinu prostředků ukázkové aplikace, kterou jste nasadili dříve.
<load-testing-resource-group-name>Zástupný text nahraďte názvem skupiny prostředků.resourceGroup="<load-testing-resource-group-name>" location="East US" az group create --name $resourceGroup --location $locationPomocí příkazu vytvořte prostředek
az load createzátěžového testování Azure.<load-testing-resource-name>Zástupný text nahraďte názvem prostředku zátěžového testování.# This script requires the following Azure CLI extensions: # - load loadTestResource="<load-testing-resource-name>" az load create --name $loadTestResource --resource-group $resourceGroup --location $locationVytvořte zátěžový test pro simulaci zatížení pro ukázkovou aplikaci pomocí
az load test createpříkazu.<web-app-hostname>Zástupný text nahraďte názvem hostitele služby App Service ukázkové aplikace. Tato hodnota je ve formulářimyapp.azurewebsites.net. Nezahrnujte částhttps://adresy URL.testId="sample-app-test" webappHostname="<web-app-hostname>" az load test create --test-id $testId --load-test-resource $loadTestResource --resource-group $resourceGroup --load-test-config-file SampleApp.yaml --env webapp=$webappHostnameTento příkaz používá konfigurační soubor zátěžového
Sampleapp.yamlSampleApp.jmxtestu, který odkazuje na testovací skript JMeter. K předání názvu hostitele ukázkové aplikace do zátěžového testu použijete parametr příkazového řádku.
Teď máte prostředek zátěžového testování Azure a zátěžový test, který vygeneruje zatížení pro ukázkovou webovou aplikaci ve vašem předplatném Azure.
Přidání komponent aplikace Azure pro monitorování aplikace
Azure Load Testing umožňuje monitorovat metriky prostředků pro komponenty Azure vaší aplikace. Analýzou těchto metrik na straně serveru můžete identifikovat problémy s výkonem a stabilitou ve vaší aplikaci přímo z řídicího panelu Azure Load Testing.
V tomto kurzu přidáte komponenty Azure pro ukázkovou aplikaci, kterou jste nasadili v Azure, jako je app service, účet Cosmos DB a další.
Přidání komponent aplikace Azure pro ukázkovou aplikaci do zátěžového testu:
Na webu Azure Portal přejděte k prostředku zátěžového testování Azure.
V levém podokně vyberte Testy a zobrazte seznam zátěžových testů.
Zaškrtněte políčko vedle zátěžového testu a pak vyberte Upravit.
Přejděte na kartu Monitorování a pak vyberte Přidat nebo upravit.
Zaškrtněte políčka ukázkové aplikace, kterou jste nasadili dříve, a pak vyberte Použít.
Tip
Pomocí filtru skupiny prostředků můžete zobrazit pouze prostředky Azure v ukázkové skupině prostředků aplikace.
Výběrem možnosti Použít uložte změny konfigurace zátěžového testu.
Úspěšně jste do zátěžového testu přidali komponenty aplikace Azure pro ukázkovou aplikaci, abyste povolili monitorování metrik na straně serveru, zatímco je zátěžový test spuštěný.
Spuštění zátěžového testu
Teď můžete spustit zátěžový test pro simulaci zatížení s ukázkovou aplikací, kterou jste nasadili ve svém předplatném Azure. V tomto kurzu spustíte zátěžový test z webu Azure Portal. Případně můžete nakonfigurovat pracovní postup CI/CD tak, aby se spustil zátěžový test.
Spuštění zátěžového testu na webu Azure Portal:
Na webu Azure Portal přejděte k prostředku zátěžového testování Azure.
V levém podokně vyberte Testy a zobrazte seznam zátěžových testů.
Výběrem zátěžového testu ze seznamu zobrazíte podrobnosti testu a seznam testovacích běhů.
Vyberte Spustit a pak znovu spusťte zátěžový test.
Volitelně můžete zadat popis testovacího spuštění.
Když spustíte zátěžový test, Azure Load Testing nasadí testovací skript JMeter a všechny další soubory do instancí testovacího modulu a pak spustí zátěžový test.
Po spuštění zátěžového testu by se měl zobrazit řídicí panel zátěžového testu.
Pokud se řídicí panel nezobrazuje, můžete v seznamu vybrat možnost Aktualizovat a pak vybrat testovací běh.
Řídicí panel zátěžového testu zobrazuje podrobnosti o testovacím spuštění, jako jsou metriky na straně klienta a metriky aplikací na straně serveru. Grafy na řídicím panelu se aktualizují automaticky.
K přizpůsobení grafů můžete použít více filtrů nebo agregovat výsledky na různé percentily.
Tip
Zátěžový test můžete kdykoli zastavit na webu Azure Portal výběrem možnosti Zastavit.
Než přejdete k další části, počkejte, až se zátěžový test úplně dokončí.
Identifikace kritických bodů výkonu pomocí metrik na straně serveru
V této části budete analyzovat výsledky zátěžového testu a identifikovat kritické body výkonu v aplikaci. Prozkoumejte metriky na straně klienta i na straně serveru a zjistěte původní příčinu problému.
Nejprve se podívejte na metriky na straně klienta. Všimněte si, že 90. percentil metriky doby odezvy pro
addgetpožadavky rozhraní API je vyšší, než je prolasttimestamprozhraní API.
Podobný vzor můžete zobrazit u chyb, kdy
lasttimestamprozhraní API obsahuje méně chyb než ostatní rozhraní API.
Výsledky rozhraní
addAPI jsougetpodobné, zatímcolasttimestamprozhraní API se chová odlišně. Příčinou může být databáze, protože oběaddrozhranígetAPI zahrnují přístup k databázi.Pokud chcete tento kritický bod prozkoumat podrobněji, posuňte se dolů do části řídicího panelu metrik na straně serveru .
Metriky na straně serveru zobrazují podrobné informace o komponentách aplikací Azure: plán služby Azure App Service, webová aplikace Azure App Service a Azure Cosmos DB.
V metrikách pro plán služby Azure App Service vidíte, že metriky procent procesoru a procent paměti jsou v přijatelném rozsahu.
Teď se podívejte na metriky na straně serveru služby Azure Cosmos DB.
Všimněte si, že metrika Normalizovaná spotřeba RU ukazuje, že databáze byla rychle spuštěná při 100% využití prostředků. Vysoké využití prostředků může způsobit chyby omezování databáze. Může také zvýšit dobu odezvy pro
addwebová rozhraní API agetwebová rozhraní API.Můžete si také prohlédnout, že metrika zřízená propustnost instance služby Azure Cosmos DB má maximální propustnost 400 RU. Zvýšení zřízené propustnosti databáze může vyřešit problém s výkonem.
Zvýšení propustnosti databáze
V této části přidělíte databázi více prostředků pro vyřešení kritického bodu výkonu.
U služby Azure Cosmos DB zvyšte nastavení škálování RU databáze:
Přejděte k prostředku Azure Cosmos DB, který jste zřídili jako součást nasazení ukázkové aplikace.
Vyberte kartu Průzkumník dat .
Vyberte Škálovat a nastavení a aktualizujte hodnotu propustnosti na 1200.
Klikněte na Uložit pro potvrzení změn.
Ověření vylepšení výkonu
Teď, když jste zvýšili propustnost databáze, spusťte zátěžový test znovu a ověřte, že se zlepšily výsledky výkonu:
Na řídicím panelu testovacího spuštění vyberte Znovu spustit a v podokně Znovu spustittest vyberte Znovu spustit.
Zobrazí se nová položka testovacího spuštění se sloupcem stavu, který prochází stavy Zřizování, Provádění a Hotovo . Kdykoli vyberte testovací běh, abyste mohli monitorovat průběh zátěžového testu.
Po dokončení zátěžového testu zkontrolujte výsledky doby odezvy a výsledky chyb metrik na straně klienta.
Zkontrolujte metriky na straně serveru pro službu Azure Cosmos DB a ujistěte se, že se zlepšil výkon.
Normalizovaná hodnota spotřeby RU služby Azure Cosmos DB je teď dobře nižší než 100%.
Teď, když jste aktualizovali nastavení škálování databáze, uvidíte, že:
- Doba odezvy pro vylepšená
addrozhraní API agetrozhraní API. - Normalizovaná spotřeba RU zůstává v pořádku pod limitem.
Výsledkem je zlepšení celkového výkonu aplikace.
Vyčistěte zdroje
Důležité
Prostředek Azure Load Testing, který jste vytvořili, můžete znovu použít pro další návody a články typu jak na to v Azure Load Testing.
Pokud nechcete používat žádné prostředky, které jste vytvořili, odstraňte je, abyste za ně nemuseli účtovat žádné další poplatky. Pokud jste ukázkovou aplikaci nasadili do jiné skupiny prostředků, můžete zopakovat následující kroky.
Chcete-li odstranit prostředky pomocí Azure Portal:
V levém horním rohu vyberte tlačítko nabídky a pak vyberte Skupiny prostředků.
V seznamu vyberte skupinu prostředků, kterou jste vytvořili.
Vyberte odstranit skupinu zdrojů.
Zadejte název skupiny prostředků. Poté vyberte Odstranit.
Pokud chcete odstranit prostředky pomocí Azure CLI, zadejte následující příkaz:
az group delete --name <yourresourcegroup>
Nezapomeňte, že odstraněním skupiny prostředků odstraníte všechny prostředky v ní.
Související obsah
- Další podrobnosti o diagnostice neúspěšných testů
- Monitorování metrik na straně serveru za účelem identifikace kritických bodů výkonu ve vaší aplikaci
- Definování kritérií neúspěšných zátěžových testů pro ověření výsledků testů podle požadavků na služby
- Přečtěte si další informace o klíčových konceptech pro zátěžové testování Azure.