Latest / Praegus Podcast / De Performance-mythe: snel betekent helemaal niks
Transcript
- 0:04SPEAKER_02: Welkom bij de Pregus Podcast.
- 0:07SPEAKER_02: In elke aflevering duiken we in alles wat raakt aan software,
- 0:10SPEAKER_02: kwaliteit,
- 0:11SPEAKER_02: processen,
- 0:11SPEAKER_02: technologie en mensen.
- 0:13We doen dit samen met collega's,
- 0:15concollega's,
- 0:16klanten,
- 0:17partners en andere scherpe geesten.
- 0:20SPEAKER_02: Verwacht eerlijke gesprekken.
- 0:23SPEAKER_02: Kerpe vragen en af en toe een welgemeende knipboog.
- 0:26SPEAKER_02: Dus zet je koptelefoon klaar, klik op volgen en luister mee.
- 0:30Want eerlijk is eerlijk,
- 0:31samen zijn we slimmer en uitgeleerd zijn we nooit.
- 0:36SPEAKER_02: In deze podcast neem ik je mee in de wereld van performance testing.
- 0:40SPEAKER_02: Waar snelheid, schaalbaarheid en stabiliteit centraal staan.
- 0:44SPEAKER_02: Van tools en technieken tot tips en trends.
- 0:48SPEAKER_02: Klaar om je teststrategie te versnellen?
- 0:50SPEAKER_02: Laten we starten.
- 0:53SPEAKER_02: Dankjewel dat je wil komen.
- 0:55SPEAKER_02: We gaan beginnen met de performance podcast.
- 0:58SPEAKER_02: Dan heb ik een fijne collega tegenover mij zitten.
- 1:01SPEAKER_02: Mijn eerste vraag aan jou is wie ben je?
- 1:03SPEAKER_03: Goeiedag.
- 1:05SPEAKER_03: Wie ben ik?
- 1:06SPEAKER_03: Hans, Hans Verhoeven.
- 1:09SPEAKER_03: Perform Hans, zeg ik wel eens.
- 1:11SPEAKER_03: Ik ben breder dan performance, maar ik ben Hans Verhoeven.
- 1:13SPEAKER_03: Ik ben 31, bijna 32.
- 1:17In ieder geval ben ik een van de collega's die druk bezig is
- 1:21binnen de performance
- 1:21SPEAKER_03: werkgroep om daar leuke dingen te doen.
- 1:25SPEAKER_03: Dus daarom zit ik hier.
- 1:27SPEAKER_03: Cool.
- 1:28SPEAKER_02: En hoe lang doe je al performance testen?
- 1:30SPEAKER_03: Ik denk dat ik dat...
- 1:32SPEAKER_03: In totaal acht jaar nu.
- 1:34SPEAKER_02: Oké, acht jaar.
- 1:35SPEAKER_02: Ja, dan ben je al wel een senior.
- 1:37SPEAKER_02: Dat mogen je wel onderscharen.
- 1:39SPEAKER_02: Oké,
- 1:40SPEAKER_02: dan had ik opgeschreven...
- 1:41SPEAKER_02: welke karaktereigenschap helpt je nou het meest bij performance testen?
- 1:45Ik denk dat je met heel veel verschillende karakters echt super
- 1:49succesvol kan zijn
- 1:50SPEAKER_03: bij performance testen.
- 1:51Maar één ding die je wel echt moet hebben is het kritisch
- 1:58kunnen doorvragen.
- 1:59Dus bij performance testen is het niet altijd helemaal
- 2:02duidelijk waar nou het probleem zit.
- 2:05SPEAKER_03: En ook wat de behoefte is.
- 2:07SPEAKER_03: Maar je moet zeker ook op technisch vlak wel echt...
- 2:11kunnen doorvragen en ook wel kunnen spitten dus spitten
- 2:16technisch spitten bedoel ik
- 2:17dan vasthoudend zijn ja vasthoudend zijn de juiste de juiste
- 2:20vragen stellen en
- 2:22misschien waar je bij waar je bij functioneel testen misschien
- 2:25wat wat duidelijker
- 2:26daar zit ook wel de uitdaging in de requirements ophalen en zo
- 2:29maar als je zegt van
- 2:30kan ik inloggen ja of nee en ik druk doe use name password en
- 2:33ik klik op inloggen
- 2:35SPEAKER_03: ja dan verwacht je dat je gaat inloggen
- 2:38SPEAKER_03: En bij performance testen is dat niet altijd even duidelijk.
- 2:42En de klant weet zelf ook niet altijd even goed wat hij nou
- 2:46eigenlijk wil en wat
- 2:47SPEAKER_03: hij nodig heeft.
- 2:48SPEAKER_03: En ook wel hetgeen wat er terugkomt bij je resultaten,
- 2:53SPEAKER_03: je testresultaten,
- 2:55SPEAKER_03: die zijn ook niet altijd helemaal zwart-wit.
- 3:00SPEAKER_03: Je weet niet direct wat is nou goed of slecht.
- 3:02SPEAKER_03: Dus daar moet je soms echt wel echt flink doorgraven.
- 3:05SPEAKER_03: Ja.
- 3:06SPEAKER_03: En die karaktereischap heb je dus wel een beetje nodig.
- 3:10SPEAKER_02: Oké.
- 3:11SPEAKER_01: Ja.
- 3:11Laten we gewoon lekker losgaan met een van de eerste vragen
- 3:15rondom performance testen.
- 3:20SPEAKER_02: De allereerste vraag is, wat is nou performance testen?
- 3:23Ja,
- 3:24performance testen is een...
- 3:25Het woord zegt het al,
- 3:27het testen van je performance.
- 3:28SPEAKER_03: Maar performance is natuurlijk best wel heel erg breed.
- 3:31SPEAKER_03: Bij performance kan je denken aan snelheid.
- 3:33SPEAKER_03: Dat is absoluut niet het enige wat je aan het testen bent.
- 3:36SPEAKER_03: Ik denk ook aan beschikbaarheid.
- 3:38SPEAKER_03: Resilience is ook wel iets wat de laatste jaren in opkomst is.
- 3:42SPEAKER_03: Maar ook schaalbaarheid, efficiëntie.
- 3:45Want als je een Ferrari hebt draaien terwijl je eigenlijk maar
- 3:48een Fiat nodig hebt,
- 3:48SPEAKER_03: dan betaal je veel te veel geld.
- 3:51SPEAKER_03: Dus je wil ook je efficiëntie kunnen testen.
- 3:53Dat zijn allemaal kwaliteitsattributen die je kan toetsen met
- 3:57performance testen.
- 3:58SPEAKER_03: Je noemde resilience.
- 4:00SPEAKER_03: Kun je daar iets meer over uitleggen?
- 4:01SPEAKER_03: Ja, resilience is weerbaarheid.
- 4:05SPEAKER_03: In hoeverre ben je weerbaar?
- 4:08SPEAKER_03: En op het gebied van performance is het dan...
- 4:11Denk dan aan bijvoorbeeld hele zware pieken of DDoS aanvallen
- 4:14op je applicatie.
- 4:15SPEAKER_03: Maar ook wat als een deel van mijn architectuur opeens uitvalt.
- 4:19SPEAKER_03: Wat gebeurt er dan?
- 4:20SPEAKER_03: Hoe gaat mijn applicatie daarmee om?
- 4:22SPEAKER_03: Ben ik dan in staat om...
- 4:24SPEAKER_03: Of is de applicatie in staat om zichzelf bijvoorbeeld te herstellen?
- 4:27SPEAKER_03: Of is daar menselijke activiteit voor nodig?
- 4:30SPEAKER_03: En iets wat daarbij in opkomst is,
- 4:32SPEAKER_03: is bijvoorbeeld...
- 4:33SPEAKER_03: Nou ja,
- 4:34SPEAKER_03: onderdeel van Resilience Engineering is chaos-testing.
- 4:37SPEAKER_03: Iets wat mensen misschien al wel kennen.
- 4:40SPEAKER_03: Maar dat komt bij Netflix vandaan.
- 4:42En Netflix heeft op een gegeven moment een keer een uitval
- 4:45gehad rondom kerst.
- 4:47SPEAKER_03: Dus iedereen had natuurlijk vakantie en wilde lekker series kijken.
- 4:50SPEAKER_03: Maar Netflix lag eruit.
- 4:53SPEAKER_03: En dat heeft ze echt ontzettend veel geld gekost.
- 4:56En op een gegeven moment is daar toen een team op gezet wat
- 4:59zich dus bezig ging
- 5:00SPEAKER_03: houden met Resilience Engineering.
- 5:02SPEAKER_03: En een onderdeel daarvan was dat zij een script hebben gebouwd.
- 5:07SPEAKER_03: Toen was het nog een script.
- 5:08SPEAKER_03: Later is het echt een hele tool geworden.
- 5:12Een script wat toen de tijd in hun acceptatieomgeving eigenlijk
- 5:16random componenten
- 5:17SPEAKER_03: ging uitschakelen.
- 5:18Dus denk aan een netwerkcomponent,
- 5:20denk aan een applicatieserver of een switch of wat dan ook.
- 5:23SPEAKER_03: Daar hebben ze een tijdje mee geëxperimenteerd.
- 5:26Dat script zette dus componenten uit en dan moest een beheerder
- 5:31of een ops mannetje
- 5:33SPEAKER_03: de architectuur weer fixen.
- 5:37SPEAKER_03: Daar kregen ze steeds meer vertrouwen in...
- 5:40SPEAKER_03: en ze zagen dat die engineers steeds slimmer werden...
- 5:45SPEAKER_03: om automatisch weer hun omgeving op te krijgen.
- 5:50Dus toen hebben ze de stap gezet om dat gewoon in productie te
- 5:53gaan draaien.
- 5:54SPEAKER_03: En dat doen ze dus op dit moment ook nog steeds.
- 5:56SPEAKER_03: Dat script is langzaam verder uitgebouwd naar echt een hele tool.
- 6:02SPEAKER_03: Dat noemen zij Chaos Monkey...
- 6:04Dan zag je gewoon een aap die door het serverhok rent en daar
- 6:07af en toe de stackers
- 6:08SPEAKER_03: eruit trekt.
- 6:09SPEAKER_03: En de service op een uitknopje drukt.
- 6:12SPEAKER_03: Dus dat draaien ze nu nog steeds in productie.
- 6:14En er zijn dus random componenten die worden gewoon
- 6:18uitgeschakeld in productie.
- 6:19En die engineers hebben een tijd echt flink hard moeten werken
- 6:23om die omgeving wel
- 6:26SPEAKER_03: resilient te krijgen.
- 6:27SPEAKER_03: En weerbaar.
- 6:29SPEAKER_03: Om ervoor te zorgen dat het gewoon altijd beschikbaar blijft.
- 6:33SPEAKER_03: En dat ze nooit meer zo'n uitval krijgen als toen bij kerst.
- 6:36SPEAKER_03: Dat is resilience.
- 6:38SPEAKER_02: Lange antwoord op resilience.
- 6:39SPEAKER_02: Ja, op een korte vraag komt een lamme antwoord.
- 6:41SPEAKER_02: Dat geeft niks, want er gaan nog wel meer gebeuren vandaag.
- 6:44Maar op zich,
- 6:46kijk,
- 6:46want performance testing is echt de test van je performance.
- 6:50SPEAKER_03: En resilience testing is daar onderdeel van.
- 6:52SPEAKER_03: Maar...
- 6:54SPEAKER_03: Performance is op zich breder dan alleen maar performance testing.
- 6:58SPEAKER_03: Want je hebt ook een deel dat noem je performance engineering.
- 7:02SPEAKER_03: En denk daarbij niet aan het testen,
- 7:03SPEAKER_03: maar dus meer aan het deel van denk goed na over je performance.
- 7:07SPEAKER_03: Dus dat kan al in design zijn of in architectuur.
- 7:10SPEAKER_03: Maar het kan ook in coding zijn.
- 7:12SPEAKER_03: Op het moment dat je code aan het schrijven bent.
- 7:14SPEAKER_03: Dat je goed nadenkt over hoe je je methodes, je klassen en alles indeelt.
- 7:19SPEAKER_03: En of daar mogelijk performance verlies is.
- 7:23SPEAKER_02: Of dat je efficiënt omgaat met je code.
- 7:28SPEAKER_02: Performance is breder dan alleen wat wij als testen doen.
- 7:31SPEAKER_02: Ja, absoluut.
- 7:32SPEAKER_02: En je bent niet een performance tester per se,
- 7:35SPEAKER_02: maar je maakt je dus ook druk rondom de architectuur,
- 7:39SPEAKER_02: de opbouw van misschien de architectuur en de structuur van een project.
- 7:42SPEAKER_02: Ja, absoluut.
- 7:44SPEAKER_03: Ja,
- 7:44SPEAKER_03: dus kritische vragen stellen af en toe van,
- 7:46SPEAKER_03: hé,
- 7:46SPEAKER_03: heb je daar al over nagedacht en wat nou als die server uitvalt?
- 7:49SPEAKER_03: Is het dan dubbel uitgevoerd of hoe ga je het oplossen?
- 7:54SPEAKER_03: Ja.
- 7:54SPEAKER_03: En dus ook wel,
- 7:56SPEAKER_03: nou dat komt bij performance testing wel naar voren,
- 7:57SPEAKER_03: maar ook wel gewoon in de bredere zin van performance engineering.
- 8:01SPEAKER_03: Ja, wat is nou goede performance?
- 8:05SPEAKER_02: Heel veel mensen denken dan gelijk aan respons tijd.
- 8:07SPEAKER_02: Tenminste, dat is het eerste waar ik aan denk.
- 8:09Performance test is,
- 8:10hoe lang doet mijn API erover om antwoord te genereren?
- 8:12SPEAKER_02: Precies, ja.
- 8:13SPEAKER_03: Ja, maar dat is dus wel allemaal heel erg... Plat.
- 8:17SPEAKER_03: Ja, ja, ja.
- 8:18SPEAKER_03: Ja, en...
- 8:21SPEAKER_03: Afhankelijk van je context.
- 8:22SPEAKER_03: Dus daar waar je bij een beurstransactiesysteem absolute performance wil.
- 8:30SPEAKER_03: Bij een ziekenhuissysteem ben je bereid om een paar seconden te wachten.
- 8:35SPEAKER_03: En wil je absolute beschikbaarheid.
- 8:37SPEAKER_03: Dus het is heel erg afhankelijk van de context.
- 8:42SPEAKER_03: Dan is de tweede vraag.
- 8:48SPEAKER_02: Wanneer en waarvoor is het nou nuttig?
- 8:54SPEAKER_03: Wanneer, dat is iets flexibels, zou ik willen zeggen.
- 8:58SPEAKER_03: Vroeger was het vaak aan het einde van je hele ontwikkeltraject.
- 9:02Dus we willen live gaan,
- 9:04maar we weten niet zeker of de performance wel goed is.
- 9:06SPEAKER_03: Kan je voor ons een test uitvoeren.
- 9:09SPEAKER_03: En in de nieuwe wereld,
- 9:11SPEAKER_03: noem ik het maar even,
- 9:12SPEAKER_03: van Agile en DevOps,
- 9:14SPEAKER_03: is het ook al wel eerder in het ontwikkelproces.
- 9:18SPEAKER_03: Maar wanneer ga je nou performance testen?
- 9:21Dat is wat mij betreft alleen maar als je hebt bepaald met
- 9:25elkaar dat performance
- 9:27SPEAKER_03: of beschikbaarheid of schaalbaarheid,
- 9:29SPEAKER_03: een van die dingen die aan performance gelieerd is.
- 9:32SPEAKER_03: Als je hebt bepaald van performance is belangrijk voor ons.
- 9:36SPEAKER_03: En het is een mogelijk risico.
- 9:38SPEAKER_03: Net als met alle testen.
- 9:39SPEAKER_03: Als er geen risico is, dan is er ook geen test nodig.
- 9:42SPEAKER_03: Dus ja, performance moet wel een... Er moet ergens een risico zijn.
- 9:49En op het moment dat je met elkaar hebt bepaald van...
- 9:52Performance is voor ons belangrijk...
- 9:55SPEAKER_02: Dan wil je dat gaan testen.
- 9:58SPEAKER_02: En wanneer kom je tot die conclusie?
- 10:01SPEAKER_02: Wanneer is performance belangrijk voor ons?
- 10:02SPEAKER_02: Hoe ziet dat proces eruit?
- 10:04SPEAKER_03: Als het goed is, doe je ergens iets van een risicoanalyse.
- 10:08SPEAKER_03: Maar dat is wel een leuke vraag...
- 10:11SPEAKER_02: Want wie denkt eraan?
- 10:13SPEAKER_02: Want ik moet zeggen dat als wij een risicoanalyse doen,
- 10:16SPEAKER_02: dan is dat vaak met een functioneel tester,
- 10:18SPEAKER_02: à la ik.
- 10:19SPEAKER_02: En iemand die verstand heeft van de business,
- 10:24SPEAKER_02: een BA noemen ze dat dan,
- 10:25SPEAKER_02: maar dat kan overal anders heten.
- 10:28SPEAKER_02: Iemand van de business zelf,
- 10:29SPEAKER_02: een PO of andere mensen,
- 10:31SPEAKER_02: of wat slimme koppen,
- 10:33SPEAKER_02: misschien wel een architect erbij.
- 10:34SPEAKER_02: Dan gaan we eens heel goed nadenken.
- 10:37SPEAKER_02: Wordt daar niet heel vaak performance gewoon keihard vergeten?
- 10:40SPEAKER_03: Ja, absoluut.
- 10:41SPEAKER_03: En dat is ook wel wat we bij de themagroep zien.
- 10:44SPEAKER_03: We zitten bij onze vaste klanten,
- 10:47SPEAKER_03: net als veel van onze collega's,
- 10:48SPEAKER_03: maar we doen ook wel losse ad hoc projecten.
- 10:52Dus klanten die pregens bellen en die aan het einde van hun
- 10:57hele traject tot de
- 10:58SPEAKER_03: conclusie zijn gekomen,
- 10:59SPEAKER_03: oh,
- 11:00SPEAKER_03: performance is eigenlijk toch wel belangrijk voor ons.
- 11:02Ja,
- 11:03het werkt toch niet zo goed als we al gehoept hadden dat het
- 11:05zou doen.
- 11:05SPEAKER_03: Ja, precies.
- 11:06SPEAKER_03: En oeps, dat zijn we eigenlijk een klein beetje vergeten.
- 11:09Kunnen jullie nu voor ons binnen drie weken een performance
- 11:11test uitvoeren?
- 11:13SPEAKER_03: En dat is eigenlijk iets wat wij natuurlijk liever niet zien.
- 11:16SPEAKER_03: Wij zouden het eigenlijk liever wat eerder in het proces...
- 11:18SPEAKER_02: Je hebt het liever drie weken voordat je begint met bouwen.
- 11:21SPEAKER_02: Nou ja, bijvoorbeeld.
- 11:22SPEAKER_03: Dat je betrokken wordt.
- 11:23SPEAKER_03: Ja, dan kan je er ook samen beter over nadenken.
- 11:24SPEAKER_03: En daar zit er trouwens ook minder haast bij, want...
- 11:26SPEAKER_03: Voor ons is het natuurlijk ook qua planning soms een uitdaging...
- 11:29als je opeens binnen drie weken op stijl en sprong een klant
- 11:32moet gaan helpen.
- 11:33SPEAKER_02: En ook dan krijg je een risicoanalyse.
- 11:35SPEAKER_02: We hebben drie weken, we kunnen niet alles doen.
- 11:37SPEAKER_02: Nee, klopt.
- 11:37SPEAKER_02: Zeg het maar.
- 11:38Plus je moet zelf waarschijnlijk nog benchmarks van alles
- 11:42aanleveren als klant zijnde.
- 11:43Inderdaad,
- 11:44want we hebben best wel wat input nodig om een goede
- 11:46performance test te doen.
- 11:48SPEAKER_03: Maar het is wel een leuke die je noemt.
- 11:51SPEAKER_03: Wij merken wel dat het heel erg verschilt.
- 11:53SPEAKER_03: Dus er zijn wel klanten die hebben best wel wat...
- 11:56SPEAKER_03: Performance awareness noem ik dat dan maar.
- 11:59Dus die zijn zich wel echt wel bewust van dat het goed is om
- 12:02een performance test uit te voeren.
- 12:05Maar überhaupt risicoanalyse,
- 12:07dat is natuurlijk wel iets wat je niet altijd overal terugziet.
- 12:11SPEAKER_03: Wij proberen dan die teams te helpen om daar zich bewust van te zijn.
- 12:15Doe een risicoanalyse en wees je bewust van waarom je dingen
- 12:21wel of niet test eigenlijk.
- 12:23En performance is daar ook een onderdeel van wat misschien
- 12:26inderdaad iets eerder vergeten wordt.
- 12:28Ook wel omdat het door veel mensen als een soort drempel wordt
- 12:31gezien van oei,
- 12:32dat is moeilijk of complex of ik weet eigenlijk niet precies
- 12:34hoe ik het moet
- 12:34SPEAKER_03: aanpakken.
- 12:35Of het is dat aparte team wat in het hoekje daar zit te
- 12:39rommelen en die roepen op
- 12:40SPEAKER_02: het einde er wel bij.
- 12:41SPEAKER_02: Dan hebben we niet of we iets om ze aan te leveren.
- 12:44SPEAKER_03: Dat is wat ik heel merk.
- 12:46SPEAKER_03: Ja, zeker.
- 12:48Vroeger was het ook vaak zo als je echt zo'n performance team
- 12:51had,
- 12:51een losse competence center.
- 12:54Dan gingen we daar even langs en die doen dan een test en dat
- 12:57laten we mooi bij hun.
- 12:58SPEAKER_03: Of als het bij je externe leverancier zit,
- 12:59dan kom je vaak in een soort discussie en dan is er geen SLA op
- 13:03het gebied van
- 13:04SPEAKER_03: performance.
- 13:07Dan is dat voor zo'n klant vaak ook heel moeilijk om dat
- 13:09gesprek aan te gaan.
- 13:10SPEAKER_02: Dus als je nu kijkt naar wanneer en waarvoor is het nou nuttig?
- 13:13SPEAKER_02: Ja, het is altijd nuttig.
- 13:15SPEAKER_02: Je moet altijd goed nadenken over wat zijn we aan het testen?
- 13:19SPEAKER_02: Hebben we daar ook performance in?
- 13:20SPEAKER_02: Is dat belangrijk voor ons?
- 13:21SPEAKER_02: Is beschikbaarheid belangrijk?
- 13:22SPEAKER_02: Of is juist de snelheid belangrijk?
- 13:24SPEAKER_02: Of daar je goede afweging in maakt?
- 13:26SPEAKER_02: En wanneer?
- 13:27SPEAKER_02: Ja, misschien de meest gechargeerde versie die we zeiden.
- 13:30SPEAKER_02: Niet drie weken nadat je het hebt opgeleverd,
- 13:32SPEAKER_02: maar het liefst drie weken voordat je eraan gaat beginnen.
- 13:35SPEAKER_02: Ja, inderdaad.
- 13:36SPEAKER_02: Even heel gechargeerd.
- 13:37SPEAKER_02: Zo vroeg mogelijk.
- 13:38SPEAKER_01: Ja, exact.
- 13:39SPEAKER_01: Oké.
- 13:45SPEAKER_02: Dan hebben we testen versus analyse.
- 13:48SPEAKER_03: Ja, we hebben een lijstje met onderwerpen met de themagroep vastgesteld.
- 13:52SPEAKER_03: En testen versus analyse hebben we erop gezet,
- 13:54omdat dat dus inderdaad wat minder straightforward is dan bij
- 13:57functioneel testen.
- 13:57SPEAKER_03: Dus als je performance test uitvoert,
- 14:00SPEAKER_03: dan zet je op een bepaalde manier belasting op die applicatie.
- 14:03SPEAKER_03: En vervolgens ga je dan die resultaten analyseren.
- 14:06SPEAKER_03: Maar die resultaten, die heb je dus enerzijds vanuit je testkant.
- 14:09SPEAKER_03: Dus ik voer een bepaalde...
- 14:12SPEAKER_03: ...use case uit op de website,
- 14:14SPEAKER_03: ik noem maar wat,
- 14:14SPEAKER_03: ik log in...
- 14:15SPEAKER_03: ...of ik ga naar de homepage,
- 14:16SPEAKER_03: ik log in,
- 14:16SPEAKER_03: ik ga naar een product...
- 14:17SPEAKER_03: ...ik voeg hem toe met mijn mandje en ik check hem uit...
- 14:19SPEAKER_03: ...en ik log weer uit of zo.
- 14:21SPEAKER_03: En voor elk van die stappen,
- 14:22SPEAKER_03: dan noemen wij dan transacties...
- 14:23SPEAKER_03: ...kan je dan de respons tijd meten.
- 14:26Maar je hebt ook allerlei andere usermetrieken...
- 14:28...dus ik noem maar wat,
- 14:29latency...
- 14:32SPEAKER_03: Dus response tijd is er eentje van,
- 14:33SPEAKER_03: maar ook concurrency,
- 14:35SPEAKER_03: throughput,
- 14:36SPEAKER_03: netwerken,
- 14:37SPEAKER_03: allerlei netwerkmetrieken.
- 14:38SPEAKER_03: En ook weer van je applicatie kant heb je ook weer allerlei gegevens.
- 14:42SPEAKER_03: Dus denk aan het CPU gebruik van je servers, memory.
- 14:47Je kan van alles verzinnen,
- 14:48connecties tussen verschillende componenten in je architectuur.
- 14:51Dus de hoeveelheid informatie die je verzamelt tijdens
- 14:56performance testen,
- 14:58SPEAKER_03: die is ontzettend groot.
- 15:00SPEAKER_03: Daar zit echt wel een uitdaging in performance testen.
- 15:03SPEAKER_03: Je kan een test uitvoeren,
- 15:04SPEAKER_03: je kan ook,
- 15:05SPEAKER_03: zeker nu met AI,
- 15:06SPEAKER_03: je kan je echt wel vrij eenvoudig een performance test scriptje bouwen.
- 15:09SPEAKER_03: Maar om echt een goede performance test te doen,
- 15:11SPEAKER_03: die je ook met de juiste analyse erbij,
- 15:15SPEAKER_03: die je ook echt iets toevoegt en de oorzaak aanwijst bij een probleem,
- 15:21daar heb je echt wel vaak een uitdaging en daar heb je wel iets
- 15:24meer kennis voor
- 15:25SPEAKER_03: nodig,
- 15:26SPEAKER_03: technische kennis.
- 15:27SPEAKER_02: Ja, want ik hoor jou inderdaad een aantal termen al op tafel gooien.
- 15:31Ik kan me voorstellen dat er genoeg zijn die alleen al de vraag
- 15:35naar die technische
- 15:36SPEAKER_02: termen,
- 15:37SPEAKER_02: dat dat al een drempel voor ze is van,
- 15:39SPEAKER_02: oh,
- 15:39SPEAKER_02: ja,
- 15:39SPEAKER_02: dat weet ik niet.
- 15:40SPEAKER_02: Sterker nog, ik weet niet eens wat het woord betekent.
- 15:42SPEAKER_02: Dus ik laat het heel even hierbij.
- 15:45SPEAKER_03: Precies.
- 15:45SPEAKER_03: Ja, daar kan wel een...
- 15:48SPEAKER_03: Een gestructureerd performance test proces bij helpen.
- 15:52Ik denk dat dat wel kan helpen als een soort handvat bij teams
- 15:55die nog nooit iets
- 15:56SPEAKER_03: met performance hebben gedaan.
- 15:58Ik hoor zoveel verschillende termen en het klinkt allemaal heel
- 16:01erg complex.
- 16:03SPEAKER_03: Waar begin ik überhaupt, wat heb ik allemaal nodig en kan ik dat wel?
- 16:06Maar dat is inderdaad wel...
- 16:10Je kan je vrij snel over laden voelen met allemaal informatie.
- 16:13SPEAKER_03: Dat je eigenlijk niet zo goed weet.
- 16:15Maar dat kan dus ook zijn dat je bijvoorbeeld denkt van...
- 16:17Weet je wat,
- 16:17we gaan gewoon testen.
- 16:18SPEAKER_02: Ik laat AI wat testjes uitschieten.
- 16:22SPEAKER_02: En die implementeren we.
- 16:23SPEAKER_02: En wij hebben performance testen.
- 16:24SPEAKER_02: Kijk maar, we zijn niet performance testen.
- 16:26SPEAKER_02: Ja, precies.
- 16:26SPEAKER_02: Ja, en dan?
- 16:27SPEAKER_02: Ja.
- 16:29SPEAKER_03: Ja, inderdaad.
- 16:30SPEAKER_03: Ja, dat is net als met alle testen.
- 16:33SPEAKER_03: Je kan ergens een vinkje behalen.
- 16:35SPEAKER_03: Alleen de vraag is, wat betekent dat vinkje?
- 16:37SPEAKER_03: Ja, nou ja, testen versus analyse.
- 16:41SPEAKER_03: Het is niet allemaal even straight forward.
- 16:43SPEAKER_02: Nee, het is niet het vinkje en dan zijn we blij.
- 16:46SPEAKER_03: Nee, precies.
- 16:51SPEAKER_02: En dan gaan we al wat meer richting de buzzwords.
- 16:54SPEAKER_02: De impact van de cloud en microservices.
- 16:57SPEAKER_02: Ja, precies.
- 16:58SPEAKER_03: Ja, het is... Ik denk dat iedereen dat wel...
- 17:02SPEAKER_03: Een groot deel van onze collega's dat wel herkent.
- 17:06SPEAKER_03: Vroeger was het zo.
- 17:07SPEAKER_03: Dan had je gewoon een organisatie.
- 17:09SPEAKER_03: Die zat ergens in een kantoor.
- 17:10SPEAKER_03: En die hadden in de kelder hun server staan.
- 17:13SPEAKER_03: Als er dan bijvoorbeeld een capaciteitsprobleem was.
- 17:16SPEAKER_03: Er zat een server vol.
- 17:17SPEAKER_03: Of het was heel druk op de site.
- 17:21SPEAKER_03: En de performance werd slecht.
- 17:22SPEAKER_03: Dan zagen ze.
- 17:23SPEAKER_03: Het CPU gebruik zit op 90% of op 100%.
- 17:26SPEAKER_03: En we kunnen niet meer alle requests tijdig verwerken.
- 17:31SPEAKER_03: Ja,
- 17:31dan werd de serverleverancier gebeld en die stuurde dan een
- 17:35mannetje in een busje
- 17:36SPEAKER_03: met een...
- 17:36SPEAKER_02: Een nieuwe blade,
- 17:37SPEAKER_02: geloof ik.
- 17:37SPEAKER_03: Met een nieuwe blade,
- 17:38SPEAKER_03: ja,
- 17:38SPEAKER_03: ik noem dat altijd pizzadozen,
- 17:39SPEAKER_03: maar...
- 17:40SPEAKER_02: Ja,
- 17:40SPEAKER_03: nee,
- 17:40SPEAKER_03: blade was dat wel eens.
- 17:43SPEAKER_03: En dan kwam hij,
- 17:44SPEAKER_03: ja,
- 17:44die moest dat natuurlijk eerst misschien ook nog zelf bestellen
- 17:46en dan moest hij er
- 17:48SPEAKER_03: naartoe rijden en dan ging hij daar naar beneden in dat serverhok,
- 17:51SPEAKER_03: ding erin hangen,
- 17:52alle kabeltjes aansluiten en dan moest er vervolgens een
- 17:54applicatiebeheerder komen
- 17:56om de software er nog op de webserver en de applicatie er nog
- 17:59op te installeren
- 18:00SPEAKER_03: en...
- 18:01SPEAKER_03: Nou ja, dan moest die applicatie herstart worden.
- 18:03SPEAKER_03: En dan vervolgens hadden ze extra capaciteit.
- 18:07SPEAKER_03: Nou, en dan komt dit onderwerp van de impact van cloud en microservices.
- 18:11SPEAKER_03: Die impact is natuurlijk ook op het gebied van performance enorm.
- 18:16SPEAKER_03: Want daar waar dat mannetje in dat busje,
- 18:18SPEAKER_03: die was daar misschien in totaal...
- 18:20SPEAKER_03: Nou,
- 18:20SPEAKER_03: als we geluk hebben een halve dag of een dag mee bezig...
- 18:23SPEAKER_03: En nu is het zo met alle cloud platforms die draaien en de microservices
- 18:30SPEAKER_03: architectuur,
- 18:31is het zo dat je in principe in een aantal seconden oneindige
- 18:35servercapaciteit kan
- 18:36SPEAKER_03: bijschalen.
- 18:38SPEAKER_03: Althans.
- 18:40SPEAKER_02: Dat is natuurlijk het marketingverhaal.
- 18:41SPEAKER_02: Precies, het kan.
- 18:43SPEAKER_02: Of dat je portemonnee het leuk vindt is wat anders natuurlijk.
- 18:45SPEAKER_03: Ja, en of het ook werkt.
- 18:47SPEAKER_03: Dus als testers zijn we natuurlijk altijd vrij kritisch.
- 18:50En wij hebben al bij meerdere klanten gezien dat automatisch
- 18:54opschalen in de cloud,
- 18:56SPEAKER_03: dat moet je natuurlijk wel weer juist configureren.
- 18:59SPEAKER_03: En je applicatie moet er ook geschikt voor zijn.
- 19:01SPEAKER_03: Wat zijn de valkuilen daarin dan?
- 19:04SPEAKER_03: Nou ja, sowieso de keten.
- 19:06SPEAKER_03: Want een applicatie staat natuurlijk niet vaak helemaal op zichzelf.
- 19:10SPEAKER_03: Maar bestaat uit meerdere componenten.
- 19:15SPEAKER_03: En ook wel, je hebt natuurlijk een load.
- 19:18SPEAKER_03: Dus stel je gaat...
- 19:21Je kijkt naar een ticketverkoopsysteem voor een concept van
- 19:25Coldplay of zo,
- 19:26SPEAKER_03: ik noem maar wat.
- 19:27Dan gaan natuurlijk gewoon een miljoen mensen tegelijk naar
- 19:29zo'n website om een
- 19:30SPEAKER_03: ticket te kopen.
- 19:32SPEAKER_03: Die lood komt dus niet langzaam erbij.
- 19:34SPEAKER_03: We gaan niet van 0 naar 100 users, naar 200 users, naar 300 users.
- 19:38SPEAKER_03: Je gaat van 0 naar 500.000,
- 19:41naar 1 miljoen gelijktijdige gebruikers in 20 seconden of een
- 19:47minuut misschien.
- 19:49SPEAKER_03: En je architectuur, dat schalen, dat kost wel een beetje tijd.
- 19:54SPEAKER_03: En om te schalen heeft die ook...
- 19:57SPEAKER_03: Dus stel je wil dat je applicatie automatisch opschaalt...
- 20:03SPEAKER_03: dan moet je daarvoor natuurlijk grenzen instellen.
- 20:06SPEAKER_03: Dus bijvoorbeeld,
- 20:07SPEAKER_03: je geeft me even...
- 20:08op het moment dat ik een container heb draaien met mijn
- 20:11applicatie erin...
- 20:11SPEAKER_03: op het moment dat die op 70% CPU zit...
- 20:14SPEAKER_03: Dan wil ik dat die,
- 20:15SPEAKER_03: of op het moment dat die over die grens heen gaat,
- 20:17dan wil ik dat die weer een container daarnaast opstart die ook
- 20:21de applicatie
- 20:22SPEAKER_03: bevraagt.
- 20:23SPEAKER_03: Nou,
- 20:24dat kan je natuurlijk instellen en op het moment dat die dan op
- 20:2770% CPU komt,
- 20:28SPEAKER_03: dan gaat die hem ook dus horizontaal schalen,
- 20:30SPEAKER_03: noem ik dat dan.
- 20:31SPEAKER_02: Er komt er eentje naast te staan.
- 20:34SPEAKER_03: Maar die moet natuurlijk,
- 20:36SPEAKER_03: afhankelijk van hoe die architectuur eruit ziet,
- 20:37SPEAKER_03: die moet natuurlijk praten weer met andere services.
- 20:41En om te praten met bijvoorbeeld een database,
- 20:44zal die connectie met die database moeten maken.
- 20:45SPEAKER_02: Alleen de vraag is van ja, hoe... Kan die database twee pots aan?
- 20:49SPEAKER_03: Bijvoorbeeld, en kan die duizend pots aan.
- 20:52SPEAKER_02: Anders verleg je een probleem eigenlijk.
- 20:54SPEAKER_03: Ja, klopt.
- 20:55SPEAKER_03: Dus dat is ook super interessant, vind ik, aan performance testen.
- 21:01Het analyseren van een architectuur en alle mogelijke
- 21:05bottlenecks die daarin zitten.
- 21:07SPEAKER_03: Daarvoor moet je ook altijd kritisch die vragen kunnen stellen.
- 21:11SPEAKER_03: We hadden het aan het begin over het karakter.
- 21:13SPEAKER_03: Goed doorvragen aan architecten, maar ook aan leveranciers.
- 21:18SPEAKER_03: Hoe ziet die architectuur er nou uit?
- 21:20Hoeveel connecties zijn er bijvoorbeeld mogelijk tussen een
- 21:24webserver en een database?
- 21:25SPEAKER_03: Of hoe doen jullie aan loadbalancing?
- 21:28SPEAKER_03: Ik weet niet, nou introduceer ik weer een andere term.
- 21:32SPEAKER_03: Dat doe je van mij al de hele ochtend, maar dat even tezijde.
- 21:35SPEAKER_03: Maar loadbalancing is het principe dat je load verdeelt.
- 21:40Stel je hebt drie servers naast elkaar staan en daarvoor zet je
- 21:43dan een loadbalancer.
- 21:44SPEAKER_03: Dus dan komen die 1 miljoen users via die loadbalancer binnen.
- 21:47SPEAKER_03: En dan gaat die loadbalancer dus netjes...
- 21:51SPEAKER_02: 100 via de 1, 100 via de andere.
- 21:52SPEAKER_02: Ja,
- 21:52SPEAKER_03: die gaat dus netjes die load verdelen,
- 21:54SPEAKER_03: zodat de servers die daaronder zitten,
- 21:57SPEAKER_03: dat ze dat netjes aankunnen.
- 22:00Dat automatisch op en afschalen kan je netjes instellen,
- 22:02maar dat staat niet op zichzelf.
- 22:04SPEAKER_03: En die load van 0 naar 1 miljoen gebruikers in een minuut bijvoorbeeld,
- 22:10SPEAKER_03: dat moet je dan wel valideren dat dat netjes werkt.
- 22:14SPEAKER_03: Want als jouw
- 22:16SPEAKER_03: architectuur daar technisch al niet toe in staat is,
- 22:19SPEAKER_03: dus de connecties naar de database bijvoorbeeld zijn niet voldoende,
- 22:23SPEAKER_03: dan wordt het al lastig.
- 22:24SPEAKER_03: En als die niet snel genoeg opschaalt,
- 22:27SPEAKER_03: dan krijg je alsnog,
- 22:28SPEAKER_03: die gebruiker krijgt alsnog een zandlopertje of misschien wel nog erger.
- 22:34SPEAKER_03: Ja, precies.
- 22:35SPEAKER_03: Dus...
- 22:37SPEAKER_02: Als ik hem een beetje plat sla hierin...
- 22:39SPEAKER_02: en ik ben altijd iemand die heel visueel nadenkt...
- 22:42SPEAKER_02: is het zo erg dat als we bijvoorbeeld het concept van Coldplay hebben...
- 22:45SPEAKER_02: in de Amsterdam Arena...
- 22:46SPEAKER_02: we rijden over de A2,
- 22:47SPEAKER_02: dat is vijf baans.
- 22:50SPEAKER_02: Daar rij je te veel auto's op, dus we maken er zeven baans van.
- 22:52SPEAKER_02: Nou, dan rijdt het lekker door.
- 22:54SPEAKER_02: Alleen de afrit naar de Arena, dat zijn maar twee banen.
- 22:57SPEAKER_02: Dus dan verleg je het probleem.
- 22:59SPEAKER_02: Ja, precies.
- 22:59SPEAKER_02: Nou,
- 23:00SPEAKER_02: maken we daar ook zeven banen van...
- 23:01SPEAKER_02: dan krijg je het probleem de inrit van de parkeergarage.
- 23:04SPEAKER_02: Dat is maar één baan.
- 23:06SPEAKER_02: Zo verleg je iedere keer het probleem met performance.
- 23:09SPEAKER_02: Heb je daar vooral in de cloud last van?
- 23:11SPEAKER_03: Dat is wel een goede, maar dat was altijd al een uitdaging.
- 23:16SPEAKER_03: Ook in meer klassieke architecturen.
- 23:18SPEAKER_03: Je hebt bij performance eenmaal een keten.
- 23:21SPEAKER_03: En in die keten kunnen op meerdere plekken de problemen zitten.
- 23:24SPEAKER_02: Ergens zit een bottleneck.
- 23:25SPEAKER_02: Ja,
- 23:26SPEAKER_02: maar klopt het dan wel,
- 23:28SPEAKER_02: mijn gut feeling zegt erin wel,
- 23:30SPEAKER_02: dat de impact van de cloud met schaalbaarheid en dat soort dingen,
- 23:33SPEAKER_02: heeft dat wel vergroot,
- 23:34SPEAKER_02: dat probleem.
- 23:36Jouw bottleneck komt heel snel naar boven op het moment dat je
- 23:38gaat bijschalen.
- 23:39SPEAKER_03: Precies, ja.
- 23:40Het is vooral natuurlijk dat het marketingverhaal van die
- 23:43cloudleveranciers,
- 23:44SPEAKER_03: dat is,
- 23:44SPEAKER_03: ga naar de cloud,
- 23:45SPEAKER_03: want dan is alles opgelost.
- 23:46SPEAKER_03: Dan hoef je helemaal geen performance test meer te doen,
- 23:48SPEAKER_03: joh,
- 23:48SPEAKER_03: want we hebben alles geschaald en tot in de onheindigheid,
- 23:52SPEAKER_03: weet je wel?
- 23:53SPEAKER_03: En dat klopt niet helemaal.
- 23:55Het is wel leuk,
- 23:58want ik heb dus een kennis van mij,
- 24:00die heeft een mkb bedrijf.
- 24:04SPEAKER_03: Hij is een soort Microsoft-leverancier,
- 24:08SPEAKER_03: maar die doet dus alleen maar juist persistent,
- 24:10SPEAKER_03: juist alleen maar echt omgeving op locatie.
- 24:12SPEAKER_03: Dus gewoon echt meer klassieke.
- 24:15SPEAKER_03: En hij zegt dus dat bijvoorbeeld hij zit bij kleine zorginstellingen.
- 24:20SPEAKER_03: Die willen dus absolute beschikbaarheid.
- 24:23SPEAKER_03: En die zitten niet per se op te wachten dat ze kunnen schalen of zo.
- 24:25SPEAKER_03: Want die capaciteit, ze hebben gewoon twintig medewerkers en dat is het.
- 24:28SPEAKER_02: Dat worden er ik je vijfentwintig.
- 24:30SPEAKER_03: Ja, maar dan houdt het ook gelijk op.
- 24:32SPEAKER_03: En zij willen helemaal niet afhankelijk zijn van het internet.
- 24:36Dus als er een keer uitval is van de cloud of van het internet,
- 24:40dan kunnen ze gewoon doorwerken.
- 24:41SPEAKER_03: Ja.
- 24:42SPEAKER_03: Dus het is allemaal super afhankelijk van de context waar je in zit.
- 24:47Dat maakt het ook zo leuk en uitdagend,
- 24:48denk ik,
- 24:48het hele performance gebeuren.
- 24:49SPEAKER_01: Ja, absoluut.
- 24:50SPEAKER_02: Ieder zijn eigen wensen, ieder zijn eigen ideeën erom.
- 24:52SPEAKER_01: Ja.
- 24:53SPEAKER_01: Oké.
- 25:00SPEAKER_02: Shift left in combinatie met shift up.
- 25:04SPEAKER_02: Wat zou Ibert trots op wat zijn?
- 25:07SPEAKER_03: We hebben het eerder al gehad over wanneer ga je nou performance testen.
- 25:10En vroeger was het dus inderdaad vaak aan het einde van het
- 25:12ontwikkelproces.
- 25:15SPEAKER_02: Maar met shift left... Dat is shift right meer, denk ik, toch?
- 25:18SPEAKER_02: Ja, dat was helemaal geen ge-shift.
- 25:21SPEAKER_02: Vroeger was dat een ge-shift, ja.
- 25:22SPEAKER_02: Ja.
- 25:24Maar we zien ook in het geval van performance,
- 25:27zien we die shift left beweging.
- 25:29SPEAKER_03: Dus inderdaad bijvoorbeeld analyseren van je code.
- 25:34SPEAKER_03: Of het inderdaad efficiënt omgaat met memory.
- 25:38SPEAKER_03: Of efficiënt omgaat met data.
- 25:41SPEAKER_03: Of het snel genoeg is.
- 25:42Maar er is ook veel meer bijvoorbeeld pipeline integraties in
- 25:48je pipeline.
- 25:50SPEAKER_03: Stel je bouwt code,
- 25:52dat doe je dan al gewoon lokaal met bijvoorbeeld een
- 25:55performance profiling tool.
- 25:56SPEAKER_03: Dus een profiling tool die kijkt naar de,
- 25:58SPEAKER_03: kijkt dus naar jouw methodes en naar alle,
- 26:00SPEAKER_03: technisch kijkt die naar je code en dan geeft die adviezen van joh,
- 26:04SPEAKER_03: jij hebt deze memory allocatie,
- 26:08SPEAKER_03: heb je een gig gemaakt,
- 26:09SPEAKER_03: maar besef je wel op het moment dat je dit dertig keer doet,
- 26:13SPEAKER_03: dan zit die vol bijvoorbeeld.
- 26:15SPEAKER_03: Dus dat is al iets lokaal wat je kan doen.
- 26:17Dus dat is echt die shift-left beweging tijdens het schrijven
- 26:22van code met
- 26:23SPEAKER_03: performance bezig zijn.
- 26:25Maar op het moment dat je dan die code gaat committen en bouwen
- 26:29in je pipeline,
- 26:29SPEAKER_03: dan kan je ook in je pipeline zelf al allerlei performance checks doen.
- 26:35SPEAKER_02: En zelfs een soort Nexus tools-achtige dingen, bijvoorbeeld Sonar.
- 26:39SPEAKER_03: Sonar Cube, ja.
- 26:40SPEAKER_03: En die,
- 26:42SPEAKER_03: nou ja,
- 26:43SPEAKER_03: stel,
- 26:43SPEAKER_03: dat kan je zelfs trouwens,
- 26:45SPEAKER_03: ik vergeet nog te zeggen,
- 26:46SPEAKER_03: je kan ook lokaal,
- 26:47SPEAKER_03: kan je ook performance unit testen doen.
- 26:50SPEAKER_03: Dus gewoon eigenlijk,
- 26:51SPEAKER_03: je doet natuurlijk unit testen,
- 26:52maar je kan ook de doorlooptijd van die unit testen zou je ook
- 26:56kunnen vastleggen.
- 26:57SPEAKER_03: En op het moment dat je een release doet,
- 26:59ook gewoon weer lokaal nog een keer die unit testen kunnen doen
- 27:02om te kijken of dat
- 27:02SPEAKER_03: daar misschien iets in gewijzigd is.
- 27:04SPEAKER_03: Ben je dan niet meer de kracht van je eigen laptop aan het testen?
- 27:07SPEAKER_03: Dat risico loop je wel,
- 27:08dus daar moet je inderdaad goed over nadenken dat je appels met
- 27:11appels vergelijkt.
- 27:13Maar daar biedt bijvoorbeeld een docker of een container
- 27:19platform ook wel weer uitkomst.
- 27:22SPEAKER_02: Maar dat is wel inderdaad...
- 27:24SPEAKER_02: Ja,
- 27:24SPEAKER_02: ik weet je,
- 27:24SPEAKER_02: voor hetzelfde,
- 27:25SPEAKER_02: zit je een Netflix-serie te kijken op de achtergrond en dan,
- 27:28SPEAKER_02: hé,
- 27:28SPEAKER_02: nou duurt het in één keer langer.
- 27:29SPEAKER_02: Ja.
- 27:30SPEAKER_03: Nee, zeker.
- 27:31SPEAKER_03: Dus dat is het belangrijke.
- 27:33SPEAKER_03: Maar wat je dus... Nou ja, dus dat is iets.
- 27:36En tijdens het committen en die beelden en die plooien op je
- 27:39omgeving kan je
- 27:40SPEAKER_03: allerlei checks doen die ervoor zorgen,
- 27:41SPEAKER_03: of die eigenlijk inzicht geven in performance.
- 27:45Heb je ook gezien dat Shift Up,
- 27:47dat daar meer tijd en aandacht komt voor performance?
- 27:50SPEAKER_02: Ja, dat is het goeie.
- 27:51SPEAKER_03: Nog te weinig, echt.
- 27:54Dus ik zie wel sommige architecten die hebben een beetje die
- 27:57achtergrond van
- 27:58SPEAKER_03: performance testing en dan denken ze er ook goed over na.
- 28:01SPEAKER_03: Dus dat proberen ze dan uit te dragen naar de teams die ze spreken.
- 28:07Maar ik denk dat teams zelf zich nog te vaak niet genoeg bewust
- 28:12zijn van de keten
- 28:14waar ze zich in bevinden en dat dat dus af en toe nog wel voor
- 28:17verbetering vatbaar
- 28:18SPEAKER_03: is.
- 28:18SPEAKER_03: Dus
- 28:19Juist als het gaat over performance,
- 28:20dat je dan ook met elkaar gaat praten.
- 28:23En ook externe koppelingen met andere applicaties,
- 28:26dat je die dan ook bijvoorbeeld meeneemt.
- 28:29Of dat je heel bewust zegt van die stubben we of die mokken we
- 28:32op een bepaalde manier.
- 28:33Maar dat bewustzijn van we bevinden ons in een keten en samen
- 28:38leveren we een dienst
- 28:40SPEAKER_03: aan een klant met een bepaalde snelheid.
- 28:43SPEAKER_03: Nee, dat zien we nog wel te weinig terug.
- 28:47SPEAKER_03: Ja,
- 28:47SPEAKER_03: dus wij als themagroep zijn eigenlijk...
- 28:49SPEAKER_03: Ik denk in de afgelopen jaren vooral bezig geweest met shift left.
- 28:52SPEAKER_03: Dus wat ik net zei, pipeline integraties en Sonocube en dat soort dingen.
- 28:57SPEAKER_03: En ook bijvoorbeeld frameworks.
- 28:58Dus wat wij met een pipeline framework bedoelen is...
- 29:02dat je vanuit je pipeline...
- 29:04kan selecteren ik wil nu een performance test doen met zoveel
- 29:07users over zo'n duur
- 29:10en dat je dan gewoon op run pipeline kan drukken en dat die
- 29:14pipeline alles voor je
- 29:14doet en dat is iets wat wij als themagroep ook voor klanten
- 29:17kunnen ontwikkelen dus
- 29:19daar zit echt het script zelf dus performance test script zit
- 29:22erin maar ook
- 29:23bijvoorbeeld het opschalen van een load infrastructuur dus dat
- 29:27zijn de servers
- 29:28SPEAKER_03: waarmee je de load genereert
- 29:31SPEAKER_03: Tot het uitvoeren van de test, tot het wegschrijven van de rapporten.
- 29:34SPEAKER_03: Hoef je alleen zelf de analyse nog te doen.
- 29:37SPEAKER_03: Eigenlijk is dat het, ja.
- 29:39En daarmee stellen wij dus ontwikkelaars of DevOps engineers in
- 29:44staat om ook zelf
- 29:45SPEAKER_03: performance tests te starten vanuit een CI-CD-omgeving.
- 29:50Dus dat is eigenlijk gewoon,
- 29:52hoe maak je de drempel zo laag mogelijk voor de teams?
- 29:54SPEAKER_02: Dat is waar we het in het begin over hadden,
- 29:56SPEAKER_02: dat we best wel merken dat al zodra er technische termen komen,
- 29:59SPEAKER_02: dat zelfs ontwikkelaars of zelfs technische testers zeggen,
- 30:03SPEAKER_02: nou weet je wat,
- 30:05ik doe even alsof ik heel druk ben en dan hoop ik dat het
- 30:07overwaait de performance
- 30:10SPEAKER_02: gevoel.
- 30:11SPEAKER_02: En dan mag de volgende club dat gaan doen.
- 30:14SPEAKER_03: Ja, ja.
- 30:15SPEAKER_02: Oké.
- 30:15En hoe zou jij zeggen...
- 30:18ik wil meer awareness in de hogere lagen rondom performance?
- 30:24SPEAKER_03: Ja, dat is een hele goeie.
- 30:26SPEAKER_03: Je hebt wel...
- 30:28SPEAKER_03: hoe zeg je dat, methodes of frameworks die daarbij kunnen helpen.
- 30:32SPEAKER_03: Dus je hebt bijvoorbeeld een updex.
- 30:35Ik weet niet of dat het iets zegt,
- 30:37maar een updex is eigenlijk meer een wiskundige formule.
- 30:41Die kijkt naar het aantal metingen over een bepaalde tijd en
- 30:44dan de response uit daarvan.
- 30:46SPEAKER_03: En dan komt er een cijfer uit,
- 30:48SPEAKER_03: tussen de 0 en de 10 bijvoorbeeld,
- 30:49SPEAKER_03: en die zegt iets over hoe goed jouw gebruikerservaring is.
- 30:55Dat is wel een getal waarmee je misschien op hoog niveau zou
- 30:59kunnen stoplichten,
- 31:00SPEAKER_03: noem ik dat maar even.
- 31:01Dus waarmee je iets zou kunnen doorgeven van,
- 31:03doen wij het wel of niet goed?
- 31:05SPEAKER_02: Is het erger of beter?
- 31:09SPEAKER_02: Erger of beter?
- 31:10SPEAKER_03: Ja, dat is een hele goeie.
- 31:13SPEAKER_03: Ja, maar dat is wel iets wat een uitdaging blijft, denk ik.
- 31:18SPEAKER_03: Dat geldt natuurlijk ook wel voor testen in het algemeen.
- 31:21SPEAKER_03: Wij zouden eigenlijk dat testen,
- 31:23SPEAKER_03: dat heeft Mart het altijd over,
- 31:24SPEAKER_03: van we willen testen de boardroom in,
- 31:26SPEAKER_03: of kwaliteit de boardroom in.
- 31:28Maar ik denk wel dat,
- 31:30kijk,
- 31:30performance is natuurlijk,
- 31:31of kan een kritieke
- 31:34SPEAKER_03: kwaliteitsaspect zijn voor jou als organisatie.
- 31:37Echt iets waar je omzet op kan verliezen of waar je...
- 31:42Ja,
- 31:42waar mensen op afhaken.
- 31:43SPEAKER_02: Als iets kansloos draak is.
- 31:45SPEAKER_02: Precies.
- 31:46SPEAKER_03: Waar je imago gewoon volledig van omzeep geholpen kan worden.
- 31:51SPEAKER_03: Dat bewustzijn creëren, dat is denk ik wel een hele belangrijke.
- 31:54SPEAKER_03: Ik weet niet hoe dat bij jou is.
- 31:56SPEAKER_02: Bijvoorbeeld wat je aanhaalde met tickets bestellen.
- 32:00SPEAKER_02: Als je naar een ticketbestelsite gaat...
- 32:02SPEAKER_02: en je weet gewoon YouTube komt of Coldplay komt...
- 32:05SPEAKER_02: en ik ga geen kaarten hebben,
- 32:06SPEAKER_02: want de site ligt er toch uit...
- 32:08SPEAKER_02: Ga je op een gegeven moment al niet eens meer moeite doen...
- 32:11SPEAKER_02: om te kijken of je die kaartjes nog kan krijgen.
- 32:13SPEAKER_02: Gaat je gewoon klanten kosten.
- 32:15En nou hebben ze met hun...
- 32:16Net zoals NS of andere bedrijven zijn ze alleenheerser.
- 32:20SPEAKER_02: Dus in principe verkopen ze die kaartjes toch wel...
- 32:24SPEAKER_02: Maar ja,
- 32:26SPEAKER_02: kom het neer op,
- 32:27SPEAKER_02: ga ik naar de mediemarkt,
- 32:28SPEAKER_02: naar Coolblue of naar Bob.com,
- 32:29SPEAKER_02: dan maakt dat echt wel verschil.
- 32:30SPEAKER_02: Ja, ja, precies.
- 32:31SPEAKER_02: Want dan bestel ik hem voor drie euro wel ergens anders.
- 32:34SPEAKER_02: Misschien dat dit soort voorbeelden ook,
- 32:36SPEAKER_02: wat je aanhaalt,
- 32:37dat dat dan wel van belang kan zijn om juist die shift-up
- 32:41awareness te creëren bij
- 32:42SPEAKER_02: bedrijven.
- 32:43SPEAKER_03: Ja, zeker.
- 32:45SPEAKER_03: Dus dit soort verhalen blijven vertellen.
- 32:47SPEAKER_03: Ja, absoluut.
- 32:48SPEAKER_03: Dat zorgt er wel voor, denk ik, om het bewustzijn te verhogen.
- 32:58SPEAKER_02: Hoe pak je nu zelf een... Hoe pak je nou een performance traject aan?
- 33:06Ja,
- 33:06ik had eigenlijk dat procesje hier naast mij willen leggen...
- 33:09maar dat ben ik vergeten.
- 33:10SPEAKER_03: Dus ik ga het nu gewoon uit mijn hoofd doen.
- 33:11SPEAKER_03: Nou, ik ben benieuwd.
- 33:12SPEAKER_03: Dit is wel een soort examen voor jou dan.
- 33:16SPEAKER_03: Nou ja, kijk, volgens mij begin je dus altijd bij risico.
- 33:18SPEAKER_03: Dus je wil met elkaar bepalen...
- 33:20SPEAKER_03: Is performance of beschikbaarheid of wat er ook aan gelieerd is,
- 33:23SPEAKER_03: is dat voor ons iets belangrijks?
- 33:26SPEAKER_03: Ligt daar een risico?
- 33:28SPEAKER_03: En als je dat hebt bepaald,
- 33:30SPEAKER_03: dan wil je gaan zeggen,
- 33:31SPEAKER_03: oké,
- 33:31SPEAKER_03: wij hebben nu bepaald bijvoorbeeld,
- 33:34SPEAKER_03: wij vinden performance belangrijk.
- 33:38SPEAKER_03: wat betekent een goede performance dan voor ons?
- 33:41SPEAKER_03: Dan heb je het over acceptatiecriteria.
- 33:45SPEAKER_03: En die acceptatiecriteria,
- 33:46SPEAKER_03: op het moment dat je die duidelijk hebt,
- 33:48SPEAKER_03: dan kan je ook meer richting je testvoorbereiding.
- 33:51SPEAKER_03: Dus dan weet je van...
- 33:55SPEAKER_03: We hebben een bepaald doel met elkaar,
- 33:57bijvoorbeeld we willen met 5000 gebruikers tegelijkertijd
- 34:01kunnen werken en tijdens
- 34:04die load van 5000 gebruikers moeten de respons tijden binnen
- 34:08twee seconden blijven.
- 34:11SPEAKER_03: Nou,
- 34:11SPEAKER_03: op het moment dat je zo'n soort criteria hebt vastgesteld,
- 34:14SPEAKER_03: dan kan je gaan zeggen,
- 34:14SPEAKER_03: oké,
- 34:15SPEAKER_03: dan kunnen we gaan beginnen met het voorbereiden van de test.
- 34:19En die voorbereiding die ligt in een aantal dingen waar ik zelf
- 34:25altijd mee begin.
- 34:26SPEAKER_03: Op het moment dat een klant mij de vraag stelt van,
- 34:29SPEAKER_03: we willen performance testen,
- 34:30SPEAKER_03: want wij vinden dat belangrijk.
- 34:33SPEAKER_03: Of het moet.
- 34:33SPEAKER_00: Ja, of het moet.
- 34:34SPEAKER_03: Het zou kunnen.
- 34:36SPEAKER_03: En dan stel ik altijd als eerste de vraag...
- 34:38SPEAKER_03: Hoe ziet je architectuur eruit?
- 34:40SPEAKER_03: En het liefst ga ik dan gewoon,
- 34:42SPEAKER_03: sommige organisaties hebben een hele mooie duidelijke architectuurplaat,
- 34:45SPEAKER_03: maar dat geldt ook voor heel veel organisaties niet.
- 34:48Dus dan moet je samen bij een whiteboard gaan staan met een
- 34:51architect of met de
- 34:53SPEAKER_03: kennishouder en dat plaatje uittekenen.
- 34:58Want als je geen inzicht hebt over hoe je lijntjes lopen en hoe
- 35:02je architectuur
- 35:03SPEAKER_03: eruit ziet,
- 35:04SPEAKER_03: dan kan je wel gaan testen.
- 35:05SPEAKER_03: Maar stel, er komt dan straks drie seconden uit in plaats van twee.
- 35:08SPEAKER_03: Hoe ga je dan analyse doen?
- 35:12Dus je moet weten waarop je analyse kan doen en je moet weten
- 35:17waar ook potentiële
- 35:18SPEAKER_03: bottlenecks liggen.
- 35:18SPEAKER_03: Want heel vaak als je zo'n plaatje uittekent van de architectuur,
- 35:21SPEAKER_03: dan kom je er ook al gelijk achter.
- 35:24SPEAKER_03: Oeh, dit zou wel eens een zwak punt kunnen zijn.
- 35:27Dan kan je vervolgens gaan zeggen,
- 35:29we gaan aan de slag met het hele performance traject.
- 35:36SPEAKER_03: Dus dan kies je van,
- 35:39SPEAKER_03: die 5000 users die we eerder hebben bepaald,
- 35:42SPEAKER_03: wat doen die 5000 users precies?
- 35:45SPEAKER_03: Dat kan natuurlijk heel verscheiden zijn.
- 35:47SPEAKER_03: Ik noem maar, stel je hebt bijvoorbeeld een webshop.
- 35:49SPEAKER_03: Niet elke gebruiker die op die webshop komt, die doet precies hetzelfde.
- 35:54SPEAKER_03: Dus wat je gaat doen, is je gaat een soort user profile ontwerpen.
- 35:58SPEAKER_03: Wat doet een gemiddelde user?
- 36:01SPEAKER_03: En dat noemen wij dan vaak een scenario.
- 36:04SPEAKER_03: En dat scenario bestaat dan uit een aantal stappen.
- 36:06SPEAKER_03: Dus ik ga naar de webshop.
- 36:08SPEAKER_03: Ik log in.
- 36:10SPEAKER_03: Ik browse door mijn producten.
- 36:12SPEAKER_02: Dat noemen jullie transacties, toch?
- 36:13SPEAKER_02: Ik heb erop zitten letten.
- 36:15SPEAKER_03: Ja, precies.
- 36:16Dus een transactie is eigenlijk niks anders dan...
- 36:19Je zou het een stopwatch kunnen noemen.
- 36:20SPEAKER_03: Dus een transactie kan bestaan uit meerdere acties.
- 36:24SPEAKER_03: Als jij dat zo bepaalt.
- 36:27SPEAKER_03: Maar het is in ieder geval een meetbare eenheid.
- 36:31Kijk,
- 36:31als jij zegt...
- 36:32Een transactie kan bijvoorbeeld zijn...
- 36:34bananen in je mandje stoppen.
- 36:35SPEAKER_03: Ja, klopt.
- 36:36SPEAKER_03: Maar het kan dus zijn dat je om die bananen in je mandje te stoppen...
- 36:38SPEAKER_03: dat je eerst op die banaan moet klikken...
- 36:39SPEAKER_03: en dat je daarna op een aantal moet klikken...
- 36:41SPEAKER_03: en dat je daarna op voeg toe in mijn mandje moet klikken.
- 36:44SPEAKER_03: Dus dat zijn dan meerdere acties.
- 36:45SPEAKER_02: Oké, ja, ja, ja.
- 36:47SPEAKER_03: Maar die wil je als één...
- 36:48SPEAKER_02: De transactie wil je die beneden.
- 36:50SPEAKER_02: Ja, dat mag een bepaalde hoeveelheid tijd kosten.
- 36:54SPEAKER_03: Precies, ja.
- 36:55SPEAKER_03: En vaak is het dus zo dat je dan die acceptatiecriteria...
- 36:57SPEAKER_03: dat je die dus aan die transacties kan koppelen.
- 36:59Dus we hebben een acceptatiecriterium...
- 37:01dat het inloggen moet binnen twee seconden zijn.
- 37:06SPEAKER_03: Dan moet je dus zorgen dat je dat ook meetbaar maakt in je test.
- 37:10SPEAKER_03: Dus dan bouw je een transactie, die noem je login.
- 37:13En dan zorg je dat alle stappen die bij de login horen,
- 37:15dat die erin zitten.
- 37:17SPEAKER_03: Dus dat is meer het stukje testontwerp.
- 37:21SPEAKER_03: Dus we bouwen dan een user profile...
- 37:26SPEAKER_03: en dat user profile bouw je dus in een script...
- 37:28SPEAKER_03: een performance test script.
- 37:31Op het moment dat je dat script klaar hebt...
- 37:33zou je zeggen van we drukken op play...
- 37:35SPEAKER_03: Maar er zijn nog wel wat meer dingen waar je aan moet denken.
- 37:39SPEAKER_03: Eerder noemde ik al die analyse.
- 37:41Dus je wil ook bepalen welke metrieken wil ik tijdens die test
- 37:44gaan meten.
- 37:46SPEAKER_03: En dat doe je dus aan de kant van je script.
- 37:49SPEAKER_03: Dus dat zijn die transacties.
- 37:50SPEAKER_03: Maar dat doe je ook aan de kant van de applicatie.
- 37:52Misschien zijn er wel bepaalde potentiële bottlenecks waarvan
- 37:56je wil zeggen...
- 37:58SPEAKER_02: Klinkt dat dan als... ...CPU usage en memory?
- 38:02SPEAKER_02: Ja, bijvoorbeeld.
- 38:04SPEAKER_03: Ja,
- 38:04SPEAKER_03: maar wij hebben ook wel eens gehad...
- 38:05SPEAKER_03: ...dat tijdens die analyse...
- 38:07SPEAKER_03: ...aan het begin van de architectuur...
- 38:08SPEAKER_03: ...dat een database engineer zei...
- 38:10SPEAKER_03: ...oh ja,
- 38:11SPEAKER_03: misschien is het goed als we van die tabel vastleggen...
- 38:13SPEAKER_03: ...dat we...
- 38:16SPEAKER_03: van die tabel gaan meten hoeveel die... Hoe noem je dat ook alweer?
- 38:19SPEAKER_03: Dat swappen tussen tabellen en zo.
- 38:21SPEAKER_03: Nou ja, technische dingen.
- 38:23Maar hij had in ieder geval iets waarvan hij zei...
- 38:25dat wil ik tijdens die test meten.
- 38:26SPEAKER_03: Want het kan wel eens zijn dat daar een probleem in zit.
- 38:30Dus je probeert ook die metrieken...
- 38:33die lijst met metrieken probeer je goed vast te leggen.
- 38:35SPEAKER_03: En op het moment dat je die test uitvoert...
- 38:37SPEAKER_03: dat je dan ook de juiste informatie hebt...
- 38:39SPEAKER_03: om verder onderzoek te doen...
- 38:41SPEAKER_03: of om je acceptatiecriteria te kunnen toetsen eigenlijk.
- 38:45Dus dat is een ding,
- 38:47je metrieken voorbereiden,
- 38:48maar ook je schaling van je omgeving.
- 38:52SPEAKER_03: Want jij zei net al,
- 38:54SPEAKER_03: als je lokaal unit test wil gaan doen,
- 38:55SPEAKER_03: dan ben je je laptop aan het testen,
- 38:56SPEAKER_03: of het hangt heel erg af van de grootte van je laptop.
- 38:59SPEAKER_03: Nou, dat geldt dus ook inderdaad bij performance testen.
- 39:02SPEAKER_03: Als jij zegt,
- 39:03SPEAKER_03: ik verwacht een bepaalde drukte op mijn productiewebsite,
- 39:07SPEAKER_03: 5000 gebruikers,
- 39:09dan wil je eigenlijk ook wel op een omgeving testen die net zo
- 39:12groot is als je
- 39:13SPEAKER_03: productieomgeving.
- 39:15Dus het kan ook een onderdeel zijn van je performance test
- 39:18traject dat je dat dan regelt.
- 39:21Dus dat hangt er natuurlijk net weer van af hoe de organisatie
- 39:24eruit ziet.
- 39:24Maar dan heb je vaker iets van een engineer die zorgt ervoor
- 39:27dat de omgeving goed staat.
- 39:29SPEAKER_03: Dus dat is de sizing van de service.
- 39:30SPEAKER_03: Maar dat is ook...
- 39:32SPEAKER_03: De vulling van de data, iets wat wel eens vergeten wordt.
- 39:34Is het dan niet zo simpel als mijn performance testomgeving is
- 39:39een vijfde van de
- 39:42SPEAKER_02: productieomgeving?
- 39:43SPEAKER_02: Dus ik ga er maar duizend nou erheen doen,
- 39:44SPEAKER_02: want op productie gaan we met vijfduizend mensen werken.
- 39:47SPEAKER_03: Ja, helaas is dat niet zo.
- 39:50SPEAKER_03: Nee, dat is dus iets wat je eigenlijk wil voorkomen.
- 39:54SPEAKER_02: Je moet hem echt op 5000 kunnen testen...
- 39:58SPEAKER_02: met een volledige productielijk om de performance-test-omgeving.
- 40:04SPEAKER_03: Nou, het is in ieder geval heel belangrijk.
- 40:06SPEAKER_03: Stel, je zou dat wel doen.
- 40:08SPEAKER_03: Dan is het heel belangrijk om te benoemen...
- 40:10SPEAKER_03: dat je dus niet een gelijkwaardige omgeving hebt getest.
- 40:14Als je doel echt is van ik wil de productieomgeving testen en
- 40:17ik verwacht daarop
- 40:18SPEAKER_03: 5000 gebruikers,
- 40:20SPEAKER_03: dan zou ik wel zeggen schaal je omgeving net zo groot.
- 40:23Stel je zegt ik wil alleen maar een vergelijking doen tussen
- 40:27release A en release
- 40:30SPEAKER_03: B,
- 40:30SPEAKER_03: dan zou je dat kunnen doen.
- 40:33SPEAKER_03: Dan zou je op een kleinere omgeving kunnen testen,
- 40:35SPEAKER_03: bijvoorbeeld een acceptatieomgeving die veel kleiner is.
- 40:38SPEAKER_02: Dan geeft het je een antwoord,
- 40:39maar het is niet gegarandeerd dat je diezelfde cijfers in
- 40:42productie haalt.
- 40:42SPEAKER_02: Dat is dan de disclaimer die je erbij hoort.
- 40:44SPEAKER_03: Ja.
- 40:47SPEAKER_03: Maar dat is wel een leuke vraag.
- 40:51SPEAKER_03: Wat wij dus heel vaak zien is dat dat ook...
- 40:55SPEAKER_03: Dus wij doen zo'n soort intake met een klant en daarbij zeggen we,
- 40:57SPEAKER_03: wat hebben we allemaal van jou nodig?
- 40:58SPEAKER_03: Bijvoorbeeld test users.
- 41:01SPEAKER_03: In het geval van bijvoorbeeld een webshop,
- 41:02SPEAKER_03: geef ons een lijst van al je producten,
- 41:04want dan kunnen wij random producten aanklikken en random
- 41:07producten kopen.
- 41:09SPEAKER_03: Dus wij hebben allerlei dingen van die klant nodig.
- 41:11SPEAKER_03: En daar zie je soms wel als een klant een beetje zo'n soort.
- 41:13SPEAKER_03: Ja, daar hadden we niet over nagedacht.
- 41:15SPEAKER_03: Oh shit, het is eigenlijk nog best veel werk.
- 41:17SPEAKER_03: Ja, precies ja.
- 41:18SPEAKER_03: Dus dat is dat.
- 41:20SPEAKER_03: Ja, ik zit nog helemaal in mijn performance traject.
- 41:22SPEAKER_02: Ik weet niet of... Nee, go ahead, go ahead.
- 41:24SPEAKER_02: Als hij nog niet af is, is hij nog niet af.
- 41:27SPEAKER_02: Een recap voor mij dan.
- 41:28SPEAKER_02: Er is een performance vraag, daar begin je mee.
- 41:31SPEAKER_02: Je gaat inventariseren, wat is het doel van je performance test?
- 41:35SPEAKER_02: Wat wil je er eigenlijk mee?
- 41:37SPEAKER_02: Dan moet je gaan vastleggen... welke teststappen hebben we nodig.
- 41:42SPEAKER_02: Je scenario's gaan bedenken... om te komen tot dat punt.
- 41:45SPEAKER_02: Je moet je metrieken vastleggen.
- 41:47SPEAKER_02: Met metrieken begreep ik... wat zijn de getallen die je wil...
- 41:52SPEAKER_02: niet per se wil zien,
- 41:54SPEAKER_02: niet de benchmarks,
- 41:55SPEAKER_02: maar welke getallen wil je überhaupt weten,
- 41:57SPEAKER_02: is dat zowel aan de testkant,
- 42:00SPEAKER_02: dus de kant die de test afvuurt,
- 42:02SPEAKER_02: maar ook aan de kant van de apparatuur die draait.
- 42:05SPEAKER_02: En of dat in een cloud is of fysiek, dat laten we even in het midden.
- 42:10SPEAKER_02: En dan zijn we volgens mij nu bij de volgende stap.
- 42:13SPEAKER_03: Of vergeet ik er nog één?
- 42:14SPEAKER_03: Nee, dat zijn de metrieken.
- 42:16SPEAKER_03: En inderdaad de testdata noemen wij dat dan.
- 42:19SPEAKER_03: Dus de sizing van je database.
- 42:21SPEAKER_03: Dus de vulling van je database.
- 42:23SPEAKER_03: De vulling van je database.
- 42:24SPEAKER_03: En ook de users die je zelf gebruikt.
- 42:27SPEAKER_03: Hoe zie je gebruikers eruit?
- 42:29SPEAKER_03: De inventarisatie.
- 42:30SPEAKER_03: Precies.
- 42:30SPEAKER_03: En dus de input die je geeft in je script.
- 42:37SPEAKER_03: Dus ik noemde die lijst van producten.
- 42:39SPEAKER_03: Dus dat is dat.
- 42:41Ja,
- 42:41dan ben je eigenlijk,
- 42:42denk ik,
- 42:42qua voorbereiding ben je dan een heel eind.
- 42:45SPEAKER_03: En dus dan kan je de test gaan uitvoeren.
- 42:47SPEAKER_03: En dat doe je volgens een bepaalde loadberekening.
- 42:52Dat is ook nog wel iets wat je natuurlijk voor die test doet,
- 42:54wat ik nog niet had genoemd.
- 42:57SPEAKER_03: Je maakt een loadmodel.
- 42:58SPEAKER_03: En wat is nou een loadmodel?
- 43:02SPEAKER_03: Dat is eigenlijk een soort...
- 43:03SPEAKER_03: Je probeert natuurlijk...
- 43:04SPEAKER_03: Die vijfduizend gebruikers in productie...
- 43:09SPEAKER_03: Dat zijn geen robots.
- 43:11SPEAKER_03: En jouw script is wel een robot.
- 43:12Want als jij een script aftrapt...
- 43:14Dan gaat hij gewoon eerst naar de homepage.
- 43:16SPEAKER_03: En zodra hij klaar is... Gaat hij naar het login.
- 43:18SPEAKER_03: En direct erachteraan gaat hij... Naar het product.
- 43:22SPEAKER_03: Dus er zit geen... Dat is gewoon een robotje.
- 43:25SPEAKER_03: Die gaat gewoon heel snel achter elkaar... Gaat hij alles uitvoeren.
- 43:27SPEAKER_03: Maar dat is niet...
- 43:29Want een gebruiker die vult zijn username en password in en die
- 43:34leest even rustig
- 43:35een productpagina voordat hij besluit of hij hem wel of niet
- 43:38gaat toevoegen aan
- 43:38SPEAKER_03: zijn mandje.
- 43:40Dus dat is een stuk wat je ook in je performance test script
- 43:44wil implementeren.
- 43:47Dus je wil die 5000 gelijktijdige gebruikers op een
- 43:51realistische manier...
- 43:53SPEAKER_03: Ja,
- 43:53de ene is 30 seconden op de site en de andere is misschien 5
- 43:57minuten omdat hij nog
- 43:58SPEAKER_02: een keer koffie zet.
- 43:59SPEAKER_02: Precies.
- 43:59SPEAKER_03: Ja,
- 44:00SPEAKER_03: en vaak doen wij daarin dus een normaalverdeling of een,
- 44:06SPEAKER_03: hoe noem ik dat goed,
- 44:07SPEAKER_03: een soort random afwijking.
- 44:10SPEAKER_03: Dus we bouwen een wachttijd tussen elke transactie in.
- 44:13En daarin brengen we een soort random variatie,
- 44:16zodat elke gebruiker anders is in zijn gedrag.
- 44:20En een transactie betekent in dit geval nog steeds bijvoorbeeld
- 44:23je bananen in je
- 44:23SPEAKER_02: mandje stoppen.
- 44:24SPEAKER_02: Wat dan drie acties zijn, maar één transactie.
- 44:27SPEAKER_03: Ja.
- 44:27SPEAKER_03: Oké.
- 44:28SPEAKER_03: Dus met een loodmodel zorg je ervoor dat je het doel wat je had,
- 44:33SPEAKER_03: in dit geval,
- 44:34SPEAKER_03: in het voorbeeld wat we hebben genoemd,
- 44:35zijn dat die vijfduizend gebruikers halen binnen zoveel
- 44:38seconden responszijden.
- 44:40Je zorgt er met een loodmodel voor dat je ook echt die lood
- 44:44aanbrengt op een
- 44:45SPEAKER_03: realistische manier.
- 44:47SPEAKER_03: Oké.
- 44:47SPEAKER_03: En...
- 44:48SPEAKER_03: Dat bouw je dus in je testscript in.
- 44:50SPEAKER_03: En volgens ga je die test uitvoeren.
- 44:52SPEAKER_03: En dan komt er een analyse?
- 44:53SPEAKER_03: Ja, dan komen er dus ontzettend veel gegevens uit.
- 44:57SPEAKER_03: Als het goed is, voldoende gegevens... om een analyse mee te kunnen doen.
- 45:02Het kan zijn dat je dat helemaal zelfstandig kan doen...
- 45:04en dat je al direct ziet van...
- 45:08SPEAKER_03: Nou,
- 45:08SPEAKER_03: bijvoorbeeld,
- 45:09we laten die aantal gebruikers aan het begin van de test van 0
- 45:13naar 5000 oplopen in
- 45:15SPEAKER_03: een kwartier.
- 45:16SPEAKER_03: We zien al na een tijdje, er zitten nu ongeveer 1000 gebruikers op.
- 45:19SPEAKER_03: Opeens gaan de responstijden bijvoorbeeld door het dak in.
- 45:26Dus daar komt dat stukje analyse waar we het eerder over hadden
- 45:29en het graven in gegevens.
- 45:33SPEAKER_03: Vaak moet je daar een soort combinatie van,
- 45:36SPEAKER_03: uit een combinatie van gegevens moet je een bepaalde analyse doen.
- 45:41SPEAKER_03: En dan hoop je een oorzaak te vinden.
- 45:43Soms kan je dat dus zelf doen en soms heb je daarvoor een
- 45:48specialist vanuit de
- 45:49SPEAKER_03: architectuur of een specialist vanuit de database.
- 45:51SPEAKER_03: Dat hangt ook een beetje net vanaf natuurlijk welke richting het opgaat.
- 45:55SPEAKER_03: Maar dan komt dus inderdaad die analyse.
- 45:57SPEAKER_03: Nou, daar komt dan iets uit.
- 45:59Misschien komt er wel uit dat alles netjes gaat en dat alle
- 46:02acceptatie criteria,
- 46:03SPEAKER_03: dat dat allemaal succesvol is.
- 46:05SPEAKER_03: En misschien komt er wel uit van,
- 46:06SPEAKER_03: hé,
- 46:07we kunnen maar duizend gebruikers aan en we zien dat het hier
- 46:10en hier fout gaat.
- 46:12We zien bijvoorbeeld dat de database overbelast is of we zien
- 46:15dat de webserver op
- 46:16SPEAKER_03: 100% CPU staat en die gaat gewoon down.
- 46:20SPEAKER_03: Met de gegevens die daaruit komen ga je dus naar de klant weer toe.
- 46:25Wij zien dit gebeuren en we adviseren bijvoorbeeld om te
- 46:30schalen of we adviseren om
- 46:31SPEAKER_03: verder onderzoek te doen,
- 46:32SPEAKER_03: want wij weten ook nog niet precies wat de exacte oorzaak is.
- 46:36SPEAKER_03: En dan uiteindelijk of een hertest te doen,
- 46:39SPEAKER_03: of als alles succesvol is bijvoorbeeld,
- 46:42SPEAKER_03: om dan live te gaan.
- 46:44SPEAKER_03: Ja.
- 46:45SPEAKER_03: Of, nou ja, dat hangt natuurlijk aan.
- 46:47SPEAKER_02: Er komt een verhaal uit waar de klant iets mee kan.
- 46:49SPEAKER_03: Ja,
- 46:50SPEAKER_03: wij doen dan vaak,
- 46:51SPEAKER_03: zeker in het geval van die kortdurende performance opdrachten,
- 46:54SPEAKER_03: doen we echt een soort rapportage.
- 46:57SPEAKER_03: Vroeger deden we dat heel uitgebreid.
- 47:00SPEAKER_03: Tegenwoordig proberen we daar ook voor onszelf iets meer...
- 47:04SPEAKER_03: Nou ja, iets compacter te houden en begrijpelijk voor die klant.
- 47:08SPEAKER_03: Ja, precies.
- 47:10SPEAKER_03: Ja, super.
- 47:11SPEAKER_03: Dus dat is eigenlijk een beetje het hele traject.
- 47:13SPEAKER_02: Ja, een performance traject.
- 47:15SPEAKER_02: Ja, ja.
- 47:16SPEAKER_02: Hé, ik wil je bedanken voor je komst, bedanken voor je tijd.
- 47:19SPEAKER_02: Fijn dat we even hebben kunnen praten over performance.
- 47:22Maar ik vond het heel fijn dat toch even om de heldere,
- 47:25korte antwoorden te hebben gekregen.
- 47:26SPEAKER_02: Dank je wel daarvoor.
- 47:27SPEAKER_03: Ja, ik hoop dat het nieuwsgierig maakt.
- 47:30SPEAKER_03: En als jullie nog iets hebben van...
- 47:34SPEAKER_03: ik zou hier of daar nog meer over willen weten...
- 47:38SPEAKER_03: dan kan ik het altijd nog buiten de podcast verder uitleggen.
- 47:42SPEAKER_02: Zo is dat.
- 47:43SPEAKER_02: Hans, mag je daarmee lastigvallen?
- 47:46SPEAKER_02: Top.
- 47:48SPEAKER_02: Bedankt voor het luisteren naar de Pregis podcast.
- 47:51SPEAKER_02: Vond je het interessant?
- 47:52SPEAKER_02: Abonneer je dan, zodat je geen aflevering mist.
- 47:54SPEAKER_02: Heb je vragen, onderwerpen of opmerkingen?
- 47:57Laat het ons weten via een mailtje naar podcast.pregis.nl Ben
- 48:01je benieuwd wat we nog meer doen?
- 48:03SPEAKER_02: Kijk dan eens op Pregis.nl en volg ons op LinkedIn.
- 48:06SPEAKER_02: Dan is het voor nu, tot de volgende keer.