27 januari 2025

Best Practice: Dashboards sneller maken: zo pakken wij het aan

John Wassing

Eigenaar

In het kort

Wat is de status of prognose van project X? Hoe staat het met de voorraad van product Y? Het zijn vragen waar je graag direct antwoord op wil. Even snel de webapplicatie checken, en weer door. Maar “even snel” bestaat in de praktijk vaak niet. De eindeloze laadtijden blijven je geduld op de proef stellen. Herkenbaar? Lees dan snel verder. We vertellen je namelijk hoe we de wachttijd voor het webapplicatiedashboard van een klant terugbrachten van meer dan 5 minuten naar enkele seconden. 

De uitdaging: trage dashboards

Het webapplicatiedashboard van een van onze klanten verzamelde data uit meerdere bronnen en toonde deze in complexe grafieken en berekeningen. Bij de oorspronkelijke implementatie moesten alle queries sequentieel worden uitgevoerd, wat leidde tot laadtijden van meer dan 5 minuten. Een groot probleem voor gebruikers die snel toegang nodig hadden tot real-time inzichten.

De bottleneck aanpakken

Om dit probleem op te lossen, analyseerden we het dataverwerkingsproces en identificeerden we taken die onafhankelijk van elkaar konden worden uitgevoerd. Vervolgens implementeerden we asynchrone API-calls. Het gevolg? Aanzienlijk kortere wachttijden omdat je taken parallel kunt uitvoeren.

De oplossing: asynchrone API-calls

Door gebruik te maken van async/await in combinatie met Promise.all, konden we meerdere dataverzoeken tegelijk uitvoeren. Een voorbeeld: 

Zo halen we data sneller op en verwerken we deze ook sneller zonder de server te belasten.

Efficiëntie verbeteren

Naast het optimaliseren van de backend, verbeterden we ook de frontend. Denk aan:

  • Non-blocking UI: we implementeerden laadindicatoren zodat gebruikers direct feedback krijgen over hoelang het laden nog duurt.

  • Incrementele rendering: we zorgden voor een meer interactieve ervaring door de interface te updaten zodra er data beschikbaar is.

De optimalisatie leidde tot indrukwekkende resultaten. Voor de optimalisatie was er een gemiddelde laadtijd van 3-5 minuten. Na de optimalisatie was dit nog slechts enkele seconden(!). Zelfs bij grote datasets. Deze verbetering verhoogde de gebruikersbetrokkenheid en maakte het dashboard veel gebruiksvriendelijker.

Met async API-calls brachten brachten wij de wachttijd van 5 minuten naar enkele seconden

Wat kun je doen om dashboards sneller te maken?

  1. Identificeer onafhankelijke taken: zorg dat taken parallel kunnen worden uitgevoerd.

  2. Gebruik caching: verminder de belasting op servers door veelgebruikte data tijdelijk op te slaan.

  3. Optimaliseer de frontend: zorg voor een responsieve UI met laadindicatoren en incrementele updates.

  4. Test grondig: voer load- en stresstests uit om prestaties te garanderen.

Meer weten? 

Wil je weten hoe je dashboards sneller kunt maken? Onze experts helpen je graag verder. Neem contact met ons op en ontdek wat wij voor jouw applicatie kunnen betekenen.

Contact