DDC BC 22 juni 2021 - De Business Central Performance Toolkit - Technisch

Dinsdag, 22 juni 2021, door Bert Verbeek, Danny Hellemons en Olaf Jorritsma

Danny trapt af met een top down overzicht van de Businsess Central Performance Toolit (BCPT) en haar mogelijkheden. Belangrijk om mee te beginnen is wat ze wel en vooral niet kan of is. Dit blijkt nog niet zo’n eenvoudige vraag om te beantwoorden. Al snel wordt duidelijk dat de BCPT verder gaat dan de stelling ‘zolang het loopt, komt het goed’ of ‘bij ons gaat het wel snel, dus de code is goed’. Volgens de documentatie van Microsoft kan de BCPT vragen beantwoorden als: “Ondersteund mijn oplossing voor BC een X aantal gebruikers die deze en deze taak tegelijkertijd uitvoeren?”
De BCPT beantwoordt géén vragen als: “Hoeveel orders in BC kan ik per uur boeken?”
Danny vult aan dat het tevens geen unit test, integratietest of performance load is. Derhalve is het met de BCPT dus niet mogelijk als bewijslast voor het voldoen aan bepaalde SLA afspraken.

Tot zover wat de BCPT niet kan, over naar wat wél kan, en het is duidelijk te merken dat Danny zijn enthousiasme wil overbrengen en mensen wil aanmoedigen de BCPT te gaan gebruiken omdat het handvatten biedt om performance beter te leren begrijpen. Immers: “meten is weten”.

Bedrijfsprocessen te simuleren

In een notendop ben je met de BCPT in staat om bedrijfsprocessen te simuleren en uit te voeren met parameters die er in werkelijkheid ook zijn. Gebruikers hebben verschillende rollen, voeren verschillende soorten data in en boeken of registreren diversie soorten documenten. Allemaal in dezelfde database, in een bepaalde hoeveelheid en met een bepaalde wachttijd (zgn. UserWait) tussen de handelingen.
Olaf ligt een voorbeeld toe van een shop-floor proces waarin een user of 30 tegelijk aan het werk is met rollen die uiteen lopen van productieplanner tot productiemedewerker. Per rol wordt vastgesteld welke handelingen worden uitgevoerd met welke frequentie.
Dus wanneer alle condities gelijk blijven maar in een bepaald deel van het bedrijfsproces wijzigt iets, bijvoorbeeld het aantal medewerkers of aantal transacties, dan kan daarvan het effect in het grotere geheel in kaart gebracht worden. Des te meer gegevens beschikbaar zijn over de werkelijkheid des te beter zullen de testresultaten zijn. Tegelijkertijd is het advies: hou het simpel. Tussen de letters door is mijn interpretatie: niet direct met de stopwatch de werkvloer op (maar het kan wel).

Coderen van bedrijfsprocessen

Zijn de processen in kaart gebracht? Dan kan overgegaan worden op het ‘echte werk’, het schrijven van code die de processen gaan uitvoeren. Wetende welke processen gesimuleerd gaan worden kan bepaald worden welke dataset ten grondslag ligt aan de test runs, welke stappen geprogrammeerd moeten worden, en welke parameters ingesteld moeten worden in de setup velden.

Zodra Bert aan het woord komt zitten we er allemaal klaar voor, hoe gaat dat nou in zijn werk in BC? Hoe ziet die code eruit? Kleine teleurstelling merkbaar in de ‘zaal’ als Bert begint met een Excel spreadsheet waarin de scenario’s zijn vastgelegd. Het mogen duidelijk zijn, wil je performance beter leren begrijpen moet een laboratoriumjas aangetroken worden en alleen onder de juiste omstandigheden zul je tot nieuwe inzichten komen.

Het framework 

Het framework an sich is recht toe recht aan. Bert laat aan de hand van een simpel proces, klant aanmaken à verkoopfactuur maken à verkoopfactuur boeken, alle stappen zien die je moet doorlopen om een succesvolle testrun te kunnen starten. Van UserWaits tot App Registration en alles wat daar tussen zit.
Bert geeft voldoende informatie en uitleg om de drempel om aan de slag te gaan met de BCPT te verlagen. In de test codeunits laat hij enkele voorbeelden uit de Libraties van het framework zien waaruit blijkt hoe de uiteindelijke logging tot stand komt.

De drie heren benadrukken allen dat het effect van caching altijd meegenomen moet worden. In de simulaties moet daarom altijd een warming-up ingebouwd worden, of juist niet als je geïnteresseerd ben in het effect van caching.

Ben je tot zover gekomen? Dan staat er een mooie tabel met log-records op je te wachten waarmee je je uit kunt leven in Excel of PowerBI om de resultaten te bekijken. Tevens worden de resultaten zichtbaar in de Application Insights.

Make sure you don’t keep your queries running too long to ensure a happy flow!

Verslag: Rick van Erp
Foto's: Kevin O'Garro en Vincent van Rens

« Naar het overzicht

Events

10 november 2021 - Dynamics 365 BC Event, 10 november 2021
Van der Valk Hotel Veenendaal | Bastion 73 | 3905 NJ Veenendaall
Datum: 10 november 2021
Meer informatie »

22 juni 2021 - Dynamics 365 BC Event, 22 juni 2021
gather.town
Datum: 22 juni 2021
Meer informatie »

23 maart 2021 - Dynamics 365 BC Event, 23 maart 2021
gather.town
Datum: 23 maart 2021
Meer informatie »


Nieuws

Aptean nieuwe Gold sponsor
08 december 2021
Lees bericht »

Dutch Dynamics Community - BC * Nieuwsflits * November 2021
20 november 2021
Lees bericht »

Dutch Dynamics Community - BC * Nieuwsflits * Oktober 2021 * 2
27 oktober 2021
Lees bericht »


Blog

DDC BC-avond Veenendaal 10 november 2021
10 november 2021
Lees blog »

DDC BC 10 november 2021 - Personaliseren in Business Central - Functioneel
10 november 2021
Lees blog »

DDC BC 10 november 2021 - Werken met XML in AL - Technisch
10 november 2021
Lees blog »

Wat is de Dutch Dynamics Community?

Ons doel is het delen van kennis en ervaringen rondom Microsoft Dynamics software.

We bieden de mogelijkheid aan alle Microsoft Dynamics Professionals om met elkaar in contact te komen en deel te nemen aan presentaties en discussies.

Laagdrempelig, onafhankelijk, diepgaand en altijd actueel.

Om iedereen op de hoogte te houden kun je je inschrijven voor een van onze nieuwsbrieven:

Schrijf je hier in voor de Business Central nieuwsbrief

Schrijf je hier in voor de Finance & Operations nieuwsbrief

Platinum sponsors


Gold sponsors

 

Sapphire sponsors


Silver sponsors


Club van 100

c100