Realistische workloads samenstellen
Ontwerp geavanceerde workloadmodellen die uiteenlopend gebruikersgedrag en bedrijfsprocessen nauwkeurig weerspiegelen.
Realistische workloads samenstellen is een gratis Loadtesten en prestatiebenchmarking (JMeter en k6)-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Loadtesten en prestatiebenchmarking (JMeter en k6). Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Loadtesten en prestatiebenchmarking (JMeter en k6) bevat in totaal 4 lessen.
De kunst van realistische werklasten
Welkom bij "Realistische werklasten samenstellen"! Bij prestatietests beschrijft een werklastmodel hoe virtuele gebruikers tijdens een test met je systeem communiceren.
Dit is essentieel, omdat een realistisch model ervoor zorgt dat je testresultaten nauwkeurig voorspellen hoe je systeem onder omstandigheden uit de echte wereld zal presteren. Zo kun je echte knelpunten vinden.
Je virtuele gebruikers definiëren
Begin met het identificeren van je gebruikerspersona's. Wie gebruikt je toepassing? (bijvoorbeeld een gast, geregistreerde gebruiker of beheerder). Elke persona kan ander gedrag vertonen.
Breng vervolgens hun typische bedrijfsprocessen of "gebruikersreizen" in kaart. Welke stappen doorlopen ze? (bijvoorbeeld "Gast bekijkt producten" of "Geregistreerde gebruiker voegt een product toe aan de winkelwagen en rekent af").
Acties en bewerkingen in balans brengen
Een transactiemix beschrijft de verhouding tussen de verschillende acties die gebruikers uitvoeren. Zo bekijkt 70% van de gebruikers misschien producten, zoekt 20% naar producten en doet slechts 10% een aankoop.
Deze mix moet patronen uit het gebruik in de echte wereld weerspiegelen. Vaak wordt deze afgeleid uit analytische gegevens of bedrijfsvereisten, zodat de systeembelasting nauwkeurig kan worden gesimuleerd.
Het belang van denktijd
Denktijd (of pacing) is de pauze die een echte gebruiker tussen acties neemt. Zonder die pauze sturen virtuele gebruikers zo snel mogelijk verzoeken, wat onrealistisch is en het systeem kan overbelasten.
Door realistische vertragingen toe te voegen, simuleer je menselijke interactie. Zo wordt je belastingstest nauwkeuriger en voorkom je voortijdige knelpunten.
Je belastingsprofiel vormgeven
Een belastingstest bestaat doorgaans uit drie fasen: opbouw, stabiele toestand en afbouw.
- Opbouw: Verhoogt geleidelijk het aantal virtuele gebruikers.
- Stabiele toestand: Handhaaft gedurende een bepaalde tijd een constante piekbelasting.
- Afbouw: Verlaagt geleidelijk het aantal virtuele gebruikers.
Deze fasen simuleren hoe de gebruikersbelasting in de echte wereld in de loop van de tijd verandert.
Dynamische gegevens voor unieke gebruikers
Voor een echt realistische werklast moet elke virtuele gebruiker unieke, gevarieerde gegevens gebruiken. Zo voorkom je dat cache-effecten de resultaten vertekenen en simuleer je uiteenlopende gebruikersinvoer.
Simuleer in plaats van herhaaldelijk met "user1" in te loggen meerdere gebruikers, zoals "user1", "user2" en "user3", elk met een eigen unieke gegevensset voor de acties.
Inzichten uit de echte wereld verzamelen
Waar vind je de gegevens om je werklastmodel op te bouwen?
- Webanalyse: Hulpmiddelen zoals Google Analytics bieden patronen in gebruikersgedrag.
- Serverlogboeken: Toegangslogboeken laten zien hoe vaak verzoeken voorkomen en welke eindpunten populair zijn.
- Bedrijfsinformatie: Rapporten over verkoop, gebruikersactiviteit enzovoort.
- Producteigenaren en -managers: Rechtstreekse inzichten in verwachte gebruikersreizen en piekgebruik.
JMeter: Throughput Controller
In JMeter is de Throughput Controller uitstekend geschikt om een transactiemix te definiëren. Hiermee kun je een percentage uitvoeringen voor de onderliggende elementen opgeven.
Je kunt bijvoorbeeld één controller instellen voor "Producten bekijken" met een throughput van 70% en een andere voor "Afrekenen" met een throughput van 10%, overeenkomstig de gewenste mix.
k6: meerdere scenario's definiëren
Het blok scenarios van k6 is krachtig voor het modelleren van uiteenlopend gebruikersgedrag. Je kunt meerdere scenario's definiëren, elk met een eigen uitvoerder, VU's en duur, om complexe werklasten te simuleren.
Hier is een voorbeeld waarin verschillende gebruikerstypen met afzonderlijke belastingspatronen worden gesimuleerd:
import http from 'k6/http';
import { sleep } from 'k6';
export const options = {
scenarios: {
browserUser: {
executor: 'constant-vus',
vus: 10,
duration: '30s',
exec: 'browserUserFlow', // function to execute
tags: { type: 'browser' },
},
apiUser: {
executor: 'ramping-vus',
startVUs: 0,
stages: [
{ duration: '10s', target: 5 },
{ duration: '20s', target: 5 },
{ duration: '5s', target: 0 },
],
exec: 'apiUserFlow', // function to execute
tags: { type: 'api' },
},
},
};
export function browserUserFlow() {
http.get('https://test.k6.io/public/croco-products/');
sleep(5);
http.get('https://test.k6.io/news.php');
sleep(3);
}
export function apiUserFlow() {
http.get('https://test-api.k6.io/public/croco/1');
sleep(1);
}Onderdelen van een realistische werklast
Welke van de volgende onderdelen zijn essentieel bij het ontwerpen van een realistisch werklastmodel voor prestatietests? (Selecteer alle juiste antwoorden)
Samenvatting: realistische werklasten samenstellen
In deze les hebben we de belangrijkste elementen onderzocht voor het samenstellen van realistische werklastmodellen voor prestatietests.
- We hebben gebruikerspersona's, bedrijfsprocessen en transactiemixen behandeld.
- We hebben het belang van pacing, gelijktijdigheidspatronen en dynamische gegevens benadrukt.
- Tot slot hebben we bekeken hoe je deze modellen implementeert met hulpmiddelen zoals JMeter en k6.
Een goed ontworpen werklast vormt de basis voor betekenisvolle resultaten van prestatietests!
Leer Loadtesten en prestatiebenchmarking (JMeter en k6) met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Realistische workloads samenstellen” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Loadtesten en prestatiebenchmarking (JMeter en k6), waaronder “Realistische workloads samenstellen”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Loadtesten en prestatiebenchmarking (JMeter en k6) bevat in totaal 4 lessen.
Wat leer ik in “Realistische workloads samenstellen”?
Ontwerp geavanceerde workloadmodellen die uiteenlopend gebruikersgedrag en bedrijfsprocessen nauwkeurig weerspiegelen. Je oefent met Loadtesten en prestatiebenchmarking (JMeter en k6) door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Loadtesten en prestatiebenchmarking (JMeter en k6) te beginnen?
Ervaring vooraf is niet nodig. Loadtesten en prestatiebenchmarking (JMeter en k6) op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “Realistische workloads samenstellen”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Loadtesten en prestatiebenchmarking (JMeter en k6)?
Ja. Elke les over Loadtesten en prestatiebenchmarking (JMeter en k6) bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Realistische workloads samenstellen
- Rapporteren aan belanghebbenden
- Prestatietests op grotere schaal inzetten
- Een strategie voor performancetests opbouwen