Delen via


Wat is Azure Load Testing?

Azure Load Testing is een volledig beheerde service voor belastingstests waarmee u grootschalige belasting kunt genereren. De service simuleert verkeer voor uw toepassingen, ongeacht waar ze worden gehost. Ontwikkelaars, testers en QA-technici (Quality Assurance) kunnen deze gebruiken om de prestaties, schaalbaarheid of capaciteit van toepassingen te optimaliseren.

Maak snel een belastingstest voor uw webtoepassing met behulp van een URL en zonder voorafgaande kennis van testhulpprogramma's. Azure Load Testing abstraheert de complexiteit en infrastructuur om uw belastingstest op schaal uit te voeren.

Voor geavanceerdere scenario's voor belastingstests kunt u ook een belastingstest maken door een testscript te uploaden. Azure Load Testing ondersteunt het uitvoeren van op Apache JMeter gebaseerde tests of locust-tests. Uw testplan kan bijvoorbeeld bestaan uit meerdere toepassingsaanvragen, u wilt niet-HTTP-eindpunten aanroepen of u gebruikt invoergegevens en parameters om de test dynamischer te maken.

Als uw toepassing wordt gehost in Azure, verzamelt Azure Load Testing gedetailleerde metrische resourcegegevens om u te helpen prestatieknelpunten in uw Azure-toepassingsonderdelen te identificeren.

Als u vroeg regressies van toepassingsprestaties wilt vastleggen, voegt u uw belastingstest toe aan uw CI/CD-werkstroom (continue integratie en continue implementatie). Gebruik testcriteria om de kwaliteitsvereisten voor uw toepassing te definiëren en te valideren.

Met Azure Load Testing kunt u privétoepassingseindpunten of toepassingen testen die u on-premises host. Zie de scenario's voor het implementeren van Azure Load Testing in een virtueel netwerk voor meer informatie.

In het volgende diagram ziet u een architectuuroverzicht van Azure Load Testing.

Diagram met de architectuur voor het testen van Azure-belasting.

Notitie

In de overzichtsafbeelding ziet u hoe Azure Load Testing gebruikmaakt van Azure Monitor om metrische gegevens voor app-onderdelen vast te leggen. Meer informatie over de ondersteunde Azure-resourcetypen.

Meer informatie over de belangrijkste concepten voor Azure Load Testing.

Gebruiksscenario's

Azure Load Testing kan gebruikmaken van de apache JMeter- of locust-testframeworks en ondersteunt een breed scala aan toepassingstypen en communicatieprotocollen. De volgende lijst bevat voorbeelden van ondersteunde typen toepassingen of eindpunten:

  • Webtoepassingen met HTTP of HTTPS
  • REST-API's
  • Databases via JDBC
  • Op TCP gebaseerde eindpunten

Voor JMeter kunt u JMeter-invoegtoepassingen gebruiken in uw testscript. U kunt meer toepassingstypen laden.

Met de snelle testervaring kunt u één OP URL gebaseerd HTTP-eindpunt testen. Door een JMeter-script te uploaden, kunt u alle door JMeter ondersteunde communicatieprotocollen gebruiken.

Azure Load Testing biedt momenteel geen ondersteuning voor andere testframeworks dan Apache JMeter en Locust.

Prestatieknelpunten identificeren met behulp van grootschalige belastingstests

Prestatieproblemen blijven vaak onopgemerkt totdat een toepassing wordt geladen. U kunt een grootschalige belastingstest starten in Azure Portal om sneller te leren hoe uw toepassing zich gedraagt onder stress. Terwijl de test wordt uitgevoerd, biedt het Azure Load Testing-dashboard een live-update van de metrische gegevens aan de client- en serverzijde.

Nadat de belastingstest is voltooid, kunt u het dashboard gebruiken om de testresultaten te analyseren en prestatieknelpunten te identificeren. Voor door Azure gehoste toepassingen toont het dashboard gedetailleerde metrische resourcegegevens van de Azure-toepassingsonderdelen. Ga aan de slag met een zelfstudie voor het identificeren van prestatieknelpunten voor door Azure gehoste toepassingen.

Azure Load Testing houdt een geschiedenis van testuitvoeringen bij en stelt u in staat om meerdere uitvoeringen visueel te vergelijken om prestatieregressies in de loop van de tijd te detecteren.

U kunt ook de testresultaten voor analyse downloaden in een hulpprogramma van derden.

Geautomatiseerde belastingstests inschakelen

U kunt Azure Load Testing integreren in uw CI/CD-pijplijn op zinvolle punten tijdens de ontwikkelingslevenscyclus. U kunt bijvoorbeeld automatisch een belastingstest uitvoeren aan het einde van elke sprint of in een faseringsomgeving om een release kandidaat-build te valideren.

Ga aan de slag met het toevoegen van belastingstests aan uw CI/CD-werkstroom om snel prestatievermindering van uw toepassing onder belasting te identificeren.

Geef in de testconfiguratie testfaalcriteria op om toepassingsprestaties of stabiliteitsregressies vroeg in de ontwikkelingscyclus te ondervangen. Ontvang bijvoorbeeld een waarschuwing wanneer de gemiddelde reactietijd of het aantal fouten een specifieke drempelwaarde overschrijdt.

Azure Load Testing stopt automatisch een geautomatiseerde belastingstest als reactie op specifieke foutvoorwaarden. U kunt ook de AutoStop-listener gebruiken in uw Apache JMeter-script. Automatisch stoppen van de beveiliging tegen mislukte tests, bijvoorbeeld vanwege een onjuist geconfigureerde eindpunt-URL. Meer informatie over hoe u automatische stop voor uw belastingtest kunt configureren.

U kunt Azure Load Testing activeren vanuit Azure Pipelines- of GitHub Actions-werkstromen of de Azure CLI gebruiken om te integreren met andere CI-hulpprogramma's.

Hoe werkt Azure Load Testing?

Azure Load Testing maakt gebruik van Apache JMeter of Locust voor het uitvoeren van belastingstests. U kunt Apache JMeter-invoegtoepassingen gebruiken vanuit https://jmeter-plugins.org of uw eigen invoegtoepassingscode uploaden. Azure Load Testing ondersteunt alle communicatieprotocollen die JMeter ondersteunt. Gebruik bijvoorbeeld Azure Load Testing om een databaseverbinding of berichtenwachtrij te testen. Meer informatie over de ondersteunde Apache JMeter-functionaliteit.

De Azure Load Testing-testengines abstraheren de vereiste infrastructuur voor het uitvoeren van een grootschalige belastingstest. Elk testengine-exemplaar voert uw testscript uit om een groot aantal virtuele gebruikers tegelijk toegang te krijgen tot uw toepassingseindpunten. Wanneer u een belastingstest maakt op basis van een URL (snelle test), genereert Azure Load Testing automatisch een testscript voor u. Als u de belastingstest wilt uitschalen, kunt u het aantal testengines configureren.

U kunt de toepassing overal hosten: in Azure, on-premises of in andere clouds. Als u een belastingstest wilt uitvoeren voor services die geen openbaar eindpunt hebben, implementeert u Azure Load Testing in een virtueel netwerk.

Tijdens de belastingstest verzamelt Azure Load Testing de volgende metrische resourcegegevens en geeft deze weer in een dashboard:

  • Metrische gegevens aan de clientzijde geven u details die door de testengine zijn gerapporteerd. Deze details omvatten het aantal virtuele gebruikers, de reactietijd van de aanvraag of het aantal aanvragen per seconde.

  • Metrische gegevens aan de serverzijde bieden informatie over de onderdelen van uw Azure-toepassing. Azure Load Testing kan worden geïntegreerd met Azure Monitor, waaronder Application Insights en Container Insights, om details van de Azure-services vast te leggen. Afhankelijk van het type service zijn er verschillende metrische gegevens beschikbaar. Metrische gegevens kunnen bijvoorbeeld zijn voor het aantal databaseleesbewerkingen, het type HTTP-antwoorden of het verbruik van containerresources.

Azure Load Testing bevat automatisch aanbevolen procedures voor Azure-netwerken om ervoor te zorgen dat uw tests veilig en betrouwbaar worden uitgevoerd. Belastingstests worden automatisch gestopt als de toepassingseindpunten of Azure-onderdelen aanvragen beperken.

De service versleutelt automatisch alle gegevens die zijn opgeslagen in uw belastingtestresource met sleutels die worden beheerd door Microsoft (door de service beheerde sleutels). Deze gegevens bevatten bijvoorbeeld uw Apache JMeter- of Locust-testscript, configuratiebestanden en meer. U kunt ook de service configureren voor het gebruik van door de klant beheerde sleutels.

Gegevenslocatie in uw regio

Azure Load Testing slaat geen klantgegevens op of verwerkt deze buiten de regio waarin u het service-exemplaar implementeert.

Azure Load Testing gaan gebruiken: