Azure Load Testing configureren voor grootschalige belasting

In dit artikel leert u hoe u uw belastingstest configureert voor grootschalige belasting met Azure Load Testing. Azure Load Testing abstraheert de complexiteit van het inrichten van de infrastructuur voor het simuleren van verkeer op grote schaal. Als u een belastingstest wilt uitschalen, kunt u het aantal exemplaren van de parallelle testengine configureren. Als u een optimale verdeling van de belasting wilt bereiken, kunt u de metrische gegevens over de status van het testexemplaren bewaken in het dashboard Azure Load Testing.

Vereisten

  • Een Azure-account met een actief abonnement. Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

  • Een bestaande Azure Load Testing-resource. Als u een Azure-resource voor belastingstests wilt maken, raadpleegt u de quickstart : Een belastingstest maken en uitvoeren.

Belastingparameters voor een belastingstest configureren

Als u gebruikersverkeer voor uw toepassing wilt simuleren, kunt u het laadpatroon en het aantal virtuele gebruikers configureren waarvoor u de belasting wilt simuleren. Door de belastingstest uit te voeren op veel exemplaren van parallelle testengines, kan Azure Load Testing het aantal virtuele gebruikers uitschalen dat verkeer naar uw toepassing simuleert. Het belastingspatroon bepaalt hoe de belasting wordt verdeeld over de duur van de belastingtest. Voorbeelden van belastingpatronen zijn lineair, getrapt of piekbelasting.

Afhankelijk van het type belastingstest, OP BASIS van URL of JMeter, hebt u verschillende opties om de doelbelasting en het laadpatroon te configureren. De volgende tabel bevat de verschillen tussen de twee testtypen.

Testtype Aantal virtuele gebruikers Belastingspatroon
Op URL's gebaseerd (basis) Geef het doelaantal virtuele gebruikers op in de configuratie van de belastingtest. Lineair belastingspatroon, op basis van de opstarttijd en het aantal virtuele gebruikers.
Op URL's gebaseerd (geavanceerd) Geef het aantal testengines en het aantal virtuele gebruikers per exemplaar op in de configuratie van de belastingtest. Configureer het laadpatroon (lineair, stap, piek).
Op basis van JMeter Geef het aantal testengines op in de configuratie van de belastingtest. Geef het aantal virtuele gebruikers op in het testscript. Configureer het belastingspatroon in het testscript.

Belastingparameters configureren voor op URL gebaseerde tests

De laadparameters voor een op URL gebaseerde belastingstest opgeven:

  1. Ga in Azure Portal naar uw Azure Load Testing-resource.

  2. Selecteer in het linkernavigatievenster Tests om alle tests weer te geven.

  3. Selecteer uw belastingstest in de lijst en selecteer vervolgens Bewerken.

    Screenshot that shows the list of load tests and the 'Edit' button.

    U kunt ook de testconfiguratie bewerken vanaf de pagina met testdetails. Hiervoor selecteert u Configureren en selecteert u Vervolgens Testen.

  4. Zorg ervoor dat u op de pagina Basisinformatie geavanceerde instellingen inschakelen selecteert.

  5. Selecteer op de pagina Test bewerken het tabblad Laden .

    Voor op URL gebaseerde tests kunt u het aantal exemplaren van de parallelle testengine en het belastingspatroon configureren.

  6. Gebruik de schuifregelaar Engine-exemplaren om het aantal parallelle testengine-exemplaren bij te werken. U kunt ook de doelwaarde invoeren in het invoervak.

    Screenshot of the 'Load' tab on the 'Edit test' pane.

  7. Selecteer de waarde van het laadpatroon in de lijst.

    Vul voor elk patroon de bijbehorende configuratie-instellingen in. De grafiek geeft een visuele weergave van het belastingspatroon en de bijbehorende configuratieparameters.

    Screenshot of the 'Load' tab when editing a load test, showing how to configure the load pattern.

Belastingparameters configureren voor op JMeter gebaseerde tests

De belastingparameters voor een op JMeter gebaseerde belastingstest opgeven:

  1. Ga in Azure Portal naar uw Azure Load Testing-resource.

  2. Selecteer in het linkernavigatievenster Tests om alle tests weer te geven.

  3. Selecteer uw belastingstest in de lijst en selecteer vervolgens Bewerken.

    Screenshot that shows the list of load tests and the 'Edit' button.

    U kunt ook de testconfiguratie bewerken vanaf de pagina met testdetails. Hiervoor selecteert u Configureren en selecteert u Vervolgens Testen.

  4. Selecteer op de pagina Test bewerken het tabblad Laden . Gebruik de schuifregelaar Engine-exemplaren om het aantal testengine-exemplaren bij te werken of voer de waarde rechtstreeks in het invoervak in.

    Screenshot of the 'Load' tab on the 'Edit test' pane.

  5. Selecteer Toepassen om de test te wijzigen en gebruik de nieuwe configuratie wanneer u deze opnieuw uitvoert.

Metrische gegevens van engine-exemplaren bewaken

Als u ervoor wilt zorgen dat de exemplaren van de testengine zelf geen knelpunt vormen in de prestaties, kunt u de metrische resourcegegevens van het test-engineexemplaren bewaken. Een hoog resourcegebruik voor een testexemplaren kan de resultaten van de belastingtest negatief beïnvloeden.

Azure Load Testing rapporteert vier metrische resourcegegevens voor elk exemplaar:

  • CPU-percentage.
  • Geheugenpercentage.
  • Netwerkbytes per seconde.
  • Aantal virtuele gebruikers.

Een testengine-exemplaar wordt als in orde beschouwd als het gemiddelde CPU- of geheugenpercentage gedurende de duur van de testuitvoering lager blijft dan 75%.

De metrische gegevens van de engineresource weergeven:

  1. Ga naar uw resource voor het testen van belasting. Selecteer in het linkerdeelvenster Tests om de lijst met belastingstests weer te geven.

  2. Selecteer uw belastingstest in de lijst om de lijst met testuitvoeringen weer te geven.

  3. Selecteer uw testuitvoering in de lijst met testuitvoeringen.

  4. Selecteer in het testrundashboard de enginestatus om de metrische gegevens van de engineresource weer te geven.

    Selecteer eventueel een specifiek testengine-exemplaar met behulp van de filters.

Screenshot that shows the load engine health metrics on the test run dashboard.

Problemen met beschadigde engine-exemplaren oplossen

Als een of meer exemplaren een hoog resourcegebruik tonen, kan dit van invloed zijn op de testresultaten. Probeer een of meer van de volgende stappen om het probleem op te lossen:

  • Verminder het aantal threads (virtuele gebruikers) per testengine. Als u een doelaantal virtuele gebruikers wilt bereiken, kunt u het aantal engine-exemplaren voor de belastingstest verhogen.

  • Zorg ervoor dat uw script effectief is, zonder redundante code.

  • Als de status van de engine onbekend is, voert u de test opnieuw uit.

Aanvragen per seconde bepalen

Het maximum aantal aanvragen per seconde (RPS) dat Azure Load Testing kan genereren voor uw belastingstest, is afhankelijk van de latentie van de toepassing en het aantal virtuele gebruikers (VU's). Toepassingslatentie is de totale tijd van het verzenden van een toepassingsaanvraag door de testengine tot het ontvangen van het antwoord. Het aantal virtuele gebruikers is het aantal parallelle aanvragen dat Azure Load Testing op een bepaald moment uitvoert.

Als u het aantal aanvragen per seconde wilt berekenen, past u de volgende formule toe: RPS = (# van VU's) * (1/latentie in seconden).

Als de toepassingslatentie bijvoorbeeld 20 milliseconden (0,02 seconden) is en u een belasting van 2000 VU's genereert, kunt u ongeveer 100.000 RPS (2000 * 1/0,02s) bereiken.

Als u een doelaantal aanvragen per seconde wilt bereiken, configureert u het totale aantal virtuele gebruikers voor uw belastingstest.

Notitie

Apache JMeter rapporteert alleen aanvragen die deze naar de server en terug hebben gebracht, hetzij geslaagd of niet. Als Apache JMeter geen verbinding kan maken met uw toepassing, is het werkelijke aantal aanvragen per seconde lager dan de maximumwaarde. Mogelijke oorzaken kunnen zijn dat de server te druk is om de aanvraag af te handelen of dat er een TLS/SSL-certificaat ontbreekt. Als u verbindingsproblemen wilt vaststellen, kunt u de grafiek Fouten in het dashboard voor belastingtests controleren en de logboekbestanden voor de belastingtest downloaden.

Engine-exemplaren en virtuele gebruikers testen

In het Apache JMeter-script kunt u het aantal parallelle threads opgeven. Elke thread vertegenwoordigt een virtuele gebruiker die toegang heeft tot het toepassingseindpunt. U wordt aangeraden het aantal threads in een script maximaal 250 te behouden.

In Azure Load Testing zijn test-engineexemplaren verantwoordelijk voor het uitvoeren van het Apache JMeter-script. Alle exemplaren van de testengine worden parallel uitgevoerd. U kunt het aantal exemplaren voor een belastingstest configureren.

Het totale aantal virtuele gebruikers voor een belastingstest is dan: VU's = (#threads) * (#-testengineexemplaren).

Als u een doelaantal virtuele gebruikers wilt simuleren, kunt u de parallelle threads configureren in het JMeter-script en de engine-exemplaren voor de belastingtest dienovereenkomstig. Bewaak de metrische gegevens van de testengine om het aantal exemplaren te optimaliseren.

Als u bijvoorbeeld 1000 virtuele gebruikers wilt simuleren, stelt u het aantal threads in het Apache JMeter-script in op 250. Configureer vervolgens de belastingstest met vier test-engineexemplaren (dat wil gezegd 4 x 250 threads).

De locatie van de Azure Load Testing-resource bepaalt de locatie van de testengine-exemplaren. Alle test-engineexemplaren binnen een resource voor belastingtests worden gehost in dezelfde Azure-regio.