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

24 januari 2023 - Dynamics 365 Event, 24 januari 2023
Postillion Bunnik | Baan van Fectio 1 | 3981 HZ | Bunnik
Datum: 24 januari 2023
Meer informatie »

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

17 mei 2022 - DDC Jaarevent 17 mei 2022
Kas meeting, De Bleek 13, 3447 GV Woerden
Datum: 17 mei 2022
Meer informatie »


Nieuws

Axelio nieuwe Gold sponsor
19 januari 2023
Lees bericht »

Dutch Dynamics Community - Nieuwsflits * Januari 2023
12 januari 2023
Lees bericht »

Companial nieuwe Gold sponsor
12 januari 2023
Lees bericht »


Blog

DDC-avond Veenendaal 15 november 2022
15 november 2022
Lees blog »

DDC 15 november 2022 - De User Interface van Business Central verandert: pas je apps aan!
15 november 2022
Lees blog »

DDC 15 november 2022 - Universal Code Initiative Live
15 november 2022
Lees blog »

Eventdata seizoen 2022-23

  • dinsdag 15 november 2022
  • dinsdag 24 januari 2023
  • dinsdag 4 april 2023
  • dinsdag 13 juni 2023

 

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