Mi az Az Azure Load Testing?

Az Azure Load Testing egy teljes körűen felügyelt terheléstesztelési szolgáltatás, amellyel nagy léptékű terhelést hozhat létre. A szolgáltatás szimulálja az alkalmazások forgalmát függetlenül attól, hogy azok hol vannak üzemeltetve. A fejlesztők, a tesztelők és a minőségbiztosítási (QA) mérnökök is használhatják az alkalmazás teljesítményének, skálázhatóságának és kapacitásának optimalizálására.

Gyorsan létrehozhat terheléstesztet a webalkalmazáshoz URL-cím használatával, a tesztelési eszközök előzetes ismerete nélkül. Az Azure Load Testing absztrakciót végez a terhelésteszt nagy léptékű futtatásához.

A speciálisabb terheléstesztelési forgatókönyvekhez létrehozhat terheléstesztet egy meglévő Apache JMeter-tesztszkript, egy népszerű nyílt forráskódú terhelési és teljesítményeszköz újrafelhasználásával. Előfordulhat például, hogy a tesztterv több alkalmazáskérésből áll, nem HTTP-végpontokat szeretne meghívni, vagy bemeneti adatokat és paramétereket használ a teszt dinamikusabbá tételéhez.

Ha az alkalmazást az Azure-ban üzemelteti, az Azure Load Testing részletes erőforrásmetrikákat gyűjt, amelyek segítenek azonosítani az Azure-alkalmazásösszetevők teljesítménybeli szűk keresztmetszeteit.

Az alkalmazásteljesítmény-regressziók korai rögzítéséhez adja hozzá a terheléstesztet a folyamatos integrációs és folyamatos üzembe helyezési (CI/CD) munkafolyamathoz. Az alkalmazásminőségi követelmények meghatározásához és érvényesítéséhez használja ki a teszt sikertelenségére vonatkozó kritériumokat.

Az Azure Load Testing lehetővé teszi a helyszínen üzemeltetett privát alkalmazásvégpontok vagy alkalmazások tesztelését. További információkért tekintse meg az Azure Load Testing virtuális hálózaton való üzembe helyezésének forgatókönyveit.

Az alábbi ábra az Azure Load Testing architektúrájának áttekintését mutatja be.

Diagram that shows the Azure Load Testing architecture.

Megjegyzés:

Az áttekintési kép bemutatja, hogyan használja az Azure Load Testing az Azure Monitort az alkalmazásösszetevők metrikáinak rögzítésére. További információ a támogatott Azure-erőforrástípusokról.

További információ az Azure Load Testing fő fogalmairól.

Használati forgatókönyvek

Az Azure Load Testing Apache JMeter-et használ, és számos alkalmazástípust és kommunikációs protokollt támogat. Az alábbi lista példákat tartalmaz a támogatott alkalmazás- vagy végponttípusokra:

  • Webalkalmazások HTTP vagy HTTPS használatával
  • REST API-k
  • Adatbázisok JDBC-n keresztül
  • TCP-alapú végpontok

A tesztszkript JMeter beépülő moduljaival több alkalmazástípust is betölthet.

A gyorstesztek segítségével egyetlen URL-alapú HTTP-végpontot tesztelhet. JMeter-szkript feltöltésével az összes JMeter által támogatott kommunikációs protokollt használhatja.

Az Azure Load Testing jelenleg nem támogatja az Apache JMeter-nél más tesztelési keretrendszereket.

A teljesítmény szűk keresztmetszeteinek azonosítása nagy léptékű terheléses tesztek használatával

A teljesítményproblémák gyakran észrevétlenek maradnak, amíg egy alkalmazás be nem töltődik. Az Azure Portalon nagy léptékű terheléses teszteket indíthat, hogy hamarabb megismerje, hogyan viselkedik az alkalmazás stresszhelyzetben. Amíg a teszt fut, az Azure Load Testing irányítópultja élő frissítést biztosít az ügyfél- és kiszolgálóoldali metrikákról.

A terhelésteszt befejezése után az irányítópult segítségével elemezheti a teszteredményeket, és azonosíthatja a teljesítmény szűk keresztmetszeteit. Az Azure által üzemeltetett alkalmazások esetében az irányítópult az Azure-alkalmazásösszetevők részletes erőforrásmetrikáit jeleníti meg. Az Azure által üzemeltetett alkalmazások teljesítménybeli szűk keresztmetszeteinek azonosítására szolgáló oktatóanyag első lépései.

Az Azure Load Testing megőrzi a tesztfuttatások előzményeit, és lehetővé teszi több futtatás vizuális összehasonlítását a teljesítmény regresszióinak időbeli észleléséhez.

A teszteredményeket egy külső eszközben is letöltheti elemzésre.

Automatizált terheléstesztelés engedélyezése

Az Azure Load Testing integrálható a CI/CD-folyamatba a fejlesztési életciklus fontos pontjain. Például automatikusan lefuttathat egy terhelési tesztet az egyes futamok végén vagy egy előkészítési környezetben a kiadásra jelölt build ellenőrzéséhez.

Első lépésként terheléstesztelést adhat a CI/CD-munkafolyamathoz az alkalmazás terhelés alatti teljesítménycsökkenésének gyors azonosításához.

A tesztkonfigurációban adja meg a tesztelési sikertelenségi feltételeket az alkalmazás teljesítményének vagy a stabilitás regresszióinak a fejlesztési ciklus korai szakaszában való eléréséhez. Riasztást kaphat például, ha az átlagos válaszidő vagy a hibák száma túllép egy adott küszöbértéket.

Az Azure Load Testing automatikusan leállítja az automatizált terheléstesztet adott hibaállapotokra válaszul. Alternatív megoldásként az AutoStop figyelőt is használhatja az Apache JMeter-szkriptben. A sikertelen tesztek automatikus leállítása további költségeket von maga után, például egy helytelenül konfigurált végpont URL-címe miatt. Megtudhatja, hogyan konfigurálhatja az automatikus leállítást a terhelésteszthez.

Az Azure Load Testing az Azure Pipelinesból vagy a GitHub Actions-munkafolyamatokból indítható el.

Hogyan működik az Azure Load Testing?

Az Azure Load Testing Apache JMeter-et használ terheléstesztek futtatásához. Használhat Apache JMeter beépülő modulokat https://jmeter-plugins.org , vagy feltöltheti saját beépülő modulkódját. Az Azure Load Testing támogatja a JMeter által támogatott összes kommunikációs protokollt. Például egy adatbázis-kapcsolat vagy üzenetsor betöltéséhez. További információ a támogatott Apache JMeter-funkciókról.

Az Azure Load Testing tesztmotorjai elvonják a nagy léptékű terheléses tesztek futtatásához szükséges infrastruktúrát. Minden tesztmotor-példány a JMeter-szkript futtatásával szimulálja az alkalmazásvégpontokhoz egyidejűleg hozzáférő virtuális felhasználók nagy számát. Ha URL-cím (gyorsteszt) alapján hoz létre terheléstesztet, az Azure Load Testing automatikusan létrehoz egy JMeter-tesztszkriptet. A terhelési teszt vertikális felskálázásához konfigurálhatja a tesztmotorok számát.

Az alkalmazást bárhol üzemeltetheti terhelés alatt: az Azure-ban, a helyszínen vagy más felhőkben. A nyilvános végpont nélküli szolgáltatások terhelésteszteléséhez helyezze üzembe az Azure Load Testinget egy virtuális hálózaton.

A terhelésteszt során az Azure Load Testing a következő erőforrásmetrikákat gyűjti össze, és megjeleníti őket egy irányítópulton:

  • Az ügyféloldali metrikák a tesztmotor által jelentett adatokat adják meg. Ezek a részletek magukban foglalják a virtuális felhasználók számát, a kérelmek válaszideét vagy a másodpercenkénti kérések számát.

  • A kiszolgálóoldali metrikák információt nyújtanak az Azure-alkalmazás összetevőiről. Az Azure Load Testing integrálva van az Azure Monitorral, beleértve az Application Elemzések és a Container Insights szolgáltatást, hogy adatokat rögzítsen az Azure-szolgáltatásokból. A szolgáltatás típusától függően különböző metrikák érhetők el. A metrikák lehetnek például az adatbázis-olvasások száma, a HTTP-válaszok típusa vagy a tárolóerőforrás-felhasználás.

Az Azure Load Testing automatikusan beépíti az Azure-hálózatkezelés ajánlott eljárásait annak érdekében, hogy a tesztek biztonságosan és megbízhatóan fussanak. A terheléses tesztek automatikusan leállnak, ha az alkalmazásvégpontok vagy az Azure-összetevők elkezdik szabályozni a kéréseket.

A szolgáltatás automatikusan titkosítja a terheléstesztelési erőforrásban tárolt összes adatot a Microsoft által kezelt kulcsokkal (szolgáltatás által felügyelt kulcsokkal). Ezek az adatok például tartalmazzák az Apache JMeter-szkriptet, a konfigurációs fájlokat és egyebeket. Másik lehetőségként úgy is konfigurálhatja a szolgáltatást, hogy ügyfél által felügyelt kulcsokat használjon.

Régión belüli adattárolás

Az Azure Load Testing nem tárolja vagy dolgozza fel az ügyféladatokat azon a régión kívül, amelyben a szolgáltatáspéldányt üzembe helyezi.

További lépések

Az Azure Load Testing használatának megkezdése: