Hi everyone,
I need some urgent advice on managing Workload Unit (WU) usage.
Yesterday, after implementing a new feature in our CRM app (built on Bubble), our WU usage shot up to over 200%, with more than 150,000 WUs consumed in a single day. Normally, we average between 4,000–10,000 WUs per day.
We added a new feature where minor updates were made to many cells in a repeating group — mostly small changes like toggling status or text fields. The data structure wasn’t changed; only the contents were updated.
We have about 32 active users in the CRM. After one user triggered updates to some fields, it appears that the entire repeating group data was re-fetched for every user, every time something was updated.
also when the new things are addd then the same refeatch is done in the application
Observed Impact
Over 19,000 search requests were recorded within a few hours.
90% of our monthly WU plan was consumed in a single day.
Data was being fetched repeatedly even though the change was minimal.
this may not be the bug but the devloper must have the controll the refeatch the data
if you have multiple users all on the same app at the same time and all setups are looking at ‘live data’ meaning when a change to the database occurs, the real-time updates will cause all active users data to have to refresh. One way around that is to make it so the data is static, but then of course you run into an issue of when one user updates on field, all other active users will not see that change take place and so, may be out of sync with each other and be working with ‘bad data’.
If you are updating the data in DB with toggles for status or changing a text field via autobind, well, then for every change from one status to another status on ‘toggle’ equates to one full database change, so one full update, so one full set of refresh fetches for each active user looking at the same data.
Unfortunately, I do not have a 100% pure vanilla Bubble approach that can achieve a likely end goal of continue to enable the toggling and updates to auto update the database without needing to refresh and refetch all other active users data displayed but keep them in sync.
I do have a way to do that with assistance of my paid plugin Data Jedi The video below demonstrates some of the features/functions I’m implementing into spreadsheets that are CRUD operators that stay in sync with any changes any user makes while costing 95% less in WUs for the fetching of the data on updates, and can be up to 99%+ less costly in WUs for the updating and creation of the data.
If you are interested in discussing how to incorporate it into your app to take advantage of it’s benefits for reducing workload unit consumption, feel free to reach out in a private message.