Het verbruik van Workload Units (WU) in je bubble.io-app verminderen
In april 2023 kondigde Bubble een prijswijziging aan die de focus voor appontwikkelaars verlegde. In plaats van het capaciteitsgebruik te minimaliseren, draait het nu om het verminderen van het verbruik van Workload Unit (WU).
Nu het factureringsmodel met Workload Units (WU) van Bubble sinds 1 oktober 2024 volledig is ingevoerd, is het tijd om zoveel mogelijk waarde uit je Bubble-abonnement te halen. Het nieuwe systeem koppelt appacties zoals paginaweergaven, API-aanroepen, databasewijzigingen en workflows aan WU-verbruik. Dat klinkt misschien overweldigend, maar geen zorgen: hier zijn 11 praktische tips, plus een bonus, om het WU-verbruik van je app te optimaliseren.
- Een nieuwe manier van denken over Bubble-ontwikkeling
- Vermijd geneste zoekopdrachten
- Beperk auto-binding
- Vermijd geavanceerde filters
- Gebruik waar mogelijk kortere lijsten
- Verberg elementen standaard
- Optimaliseer voorwaarden
- Variabelen om gegevens opnieuw te gebruiken
- Gebruik browsertools
- Optimaliseer API-aanroepen
- De count-operator begrijpen
- Bonustip: denk als een ontwikkelaar
Een nieuwe mindset voor Bubble-ontwikkeling
De sleutel tot minder WU-verbruik is een dubbele focus op prestaties en efficiëntie. Stel jezelf vóór het implementeren van een functie de volgende vragen:
- Kan dit proces eenvoudiger?
- Is dit gegeven echt nodig?
- Heb ik de impact op WU gemeten?
Efficiëntie komt vaak neer op vereenvoudiging. Hoe minder acties je app uitvoert, hoe minder WU's hij verbruikt. Maar ga niet uit van aannames: test en meet altijd om het te bevestigen
11 tips om Workload Units (WU's) in je Bubble-app te optimaliseren
1. Vermijd geneste zoekopdrachten

Geneste zoekopdrachten ontstaan wanneer een zoekopdracht afhankelijk is van de resultaten van een andere. Als je bijvoorbeeld een repeating group hebt die naar berichten zoekt en binnen diezelfde groep nog een zoekopdracht uitvoert, is dat een geneste zoekopdracht.
Waarom dit een probleem is:
Geneste zoekopdrachten leiden tot meerdere databasequery's en verhogen het WU-verbruik aanzienlijk.
Zo los je het op:
- Voeg een relevant veld toe aan je database om resultaten meteen te filteren.
- Voer de filtering in één query uit in plaats van zoekopdrachten te stapelen.
2. Beperk auto-binding

Auto-binding is een handige Bubble-functie, maar kan veel WU's kosten. Elke keer dat een automatisch gekoppeld veld wordt bijgewerkt, activeert dat een databasebewerking.
Beter alternatief:
Gebruik een Opslaan-knop om alle wijzigingen in één bewerking toe te passen en zo minder naar de database te schrijven. Dit is vooral handig voor formulieren met meerdere velden.
3. Vermijd geavanceerde filters

Geavanceerde filters halen alle gegevens naar de frontend en verwerken ze vervolgens in de browser van de gebruiker. Dit verhoogt het WU-verbruik en vertraagt de app.
Optimaliseer dit door:
- Je database te structureren met tags of option sets om beter op queryniveau te filteren.
- Voorwaarden te gebruiken om zoekopdrachten te verfijnen voordat ze de frontend bereiken.
4. Wees voorzichtig met lege zoekvoorwaarden

Als je de optie Ignore Empty Constraints gebruikt in je zoekopdrachten, kan Bubble onnodige gegevens ophalen als een voorwaarde nog niet is ingesteld.
Oplossing:
- Gebruik voorwaarden om het laden van de gegevensbron uit te stellen totdat alle vereiste zoekvoorwaarden geldig zijn.
- Zorg dat zoekopdrachten alleen starten wanneer relevante gegevens bestaan.
5. Gebruik waar mogelijk kortere lijsten

Kortere lijsten met items ophalen is vaak efficiënter in WU-verbruik dan herhaaldelijk zoeken.
Voorbeeld:
- Sla een korte lijst met gerelateerde gegevens op in het bovenliggende object in plaats van in een aparte tabel naar gerelateerde items te zoeken.
- Vermijd lange lijsten, bijvoorbeeld met 200+ items, in één object, omdat die zwaardere laadbewerkingen kunnen veroorzaken.
6. Verberg elementen standaard

Het cachesysteem van Bubble haalt bij het laden van de pagina alleen op wat zichtbaar is. Verborgen groepen of elementen die niet meteen nodig zijn, kunnen zo WU's besparen.
Zo implementeer je dit:
- Stel groepen en elementen in op ‘not visible on page load’ (niet zichtbaar bij het laden van de pagina).
- Maak ze alleen zichtbaar wanneer specifieke voorwaarden worden geactiveerd.
7. Optimaliseer voorwaarden
Bubble beoordeelt voorwaarden van links naar rechts. Als een voorwaarde vroeg faalt, worden de volgende voorwaarden niet uitgevoerd.

Beste aanpak:
Plaats de eenvoudigste voorwaarden die de minste middelen verbruiken vooraan om onnodige bewerkingen te voorkomen.
8. Gebruik variabelen om gegevens opnieuw te gebruiken

Gegevens meerdere keren ophalen voor verschillende elementen verbruikt onnodig WU's. Sla veelgebruikte gegevens in plaats daarvan op in variabelen of custom states.
Zo doe je het:
- Gebruik verborgen groepen of repeating groups om gegevens op te slaan.
- Verwijs naar deze opgeslagen gegevens in plaats van nieuwe zoekopdrachten uit te voeren.
9. Gebruik browsertools
De ontwikkelaarsconsole in browsers zoals Chrome kan je helpen de prestaties van je app te volgen.
Belangrijke punten om te controleren:
- Geladen elementen: Verminder onnodige elementen om pagina's lichter te laden.
- Netwerktabblad: Volg gegevensopvragingen en identificeer zware aanvragen.
- Omvang van opgehaalde gegevens: Analyseer de omvang van zoekresultaten en optimaliseer query's daarop.
10. Optimaliseer API-aanroepen

API-aanroepen kunnen grote datasets teruggeven, ook als je maar een deel van de gegevens nodig hebt.
Verbeter de efficiëntie van API's door:
- Paginering of limieten te gebruiken om alleen de benodigde gegevens op te halen.
- API-antwoorden te sorteren en filteren voordat ze naar Bubble worden verstuurd.
11. De :count-operator begrijpen

De :count-operator is een goed voorbeeld van hoe WU-verbruik onverwacht kan variëren. Stel dat je een element onder een voorwaarde wilt tonen wanneer Search:count is 0. Hoewel de documentatie van Bubble stelt dat een :count-bewerking 0,20 WU's verbruikt, laten praktijktests een ander beeld zien.
Dit is wat we hebben waargenomen:
1. Search (1,000 items):count is 0
- WU-verbruik: 3,86
- Waarom? Deze bewerking downloadt eerst 10 items van de server voordat de telling wordt beoordeeld, wat onverwachte WU-pieken veroorzaakt.
2. Search (1,000 items):first item is empty
- WU-verbruik: 0,69
- Waarom? Dit downloadt slechts één item van de server, waardoor het aanzienlijk efficiënter is.
3. Search (1,000 items):count≥1 (≤1)
- WU-verbruik: 0,20
- Waarom? Deze bewerking haalt de telwaarde direct op zonder items te downloaden.
Bonustip: denk als een ontwikkelaar
Denken als een ontwikkelaar kan veel bijdragen aan het optimaliseren van WU-verbruik.
Wat je kunt doen:
- Controleer de serverlogs van Bubble om bewerkingen met hoog WU-verbruik te volgen.
- Beoordeel workflows en databasequery's regelmatig op efficiëntie.
- Test verschillende implementaties en meet hun WU-impact.
Belangrijkste inzichten
- Vereenvoudig workflows en vermijd dubbele zoekopdrachten om het WU-verbruik te minimaliseren.
- Gebruik databaseontwerp strategisch om minder afhankelijk te zijn van geavanceerde filters en geneste zoekopdrachten.
- Gebruik browsertools en serverlogs om je app te volgen en te verfijnen.
- Experimenteer, meet en verbeter altijd om tot de efficiëntste implementatie te komen.
Heeft je Bubble-app slechte prestaties en een hoog WU-verbruik? Plan een gesprek om te bespreken hoe je de prestaties van je app kunt verbeteren! 🚀

Geschreven door Tom
Oprichter en lead developer
Klaar om je project te starten?
Boek een gratis kennismakingsgesprek om te zien hoe we uw app in 4 weken of minder kunnen bouwen.
Boek een gesprek




