Rate Limiting and Concurrent Users

Hi,

I am writing a Saas auction platform for which I will need to have high levels of concurrency from time to time usually at the end of the each auction - generally this is in the last hour where I will get 100 users or so all placing bids across a range of around 250 lots.

I have been doing some load testing against the app because I wanted to try to understand how responsive Bubble can be. I wanted to also understand which plan is going to be most appropriate.

During development I am on the Starter Plan and unsurprisingly, I have come up against rate limiting pretty quickly. But worryingly this has triggered with around 100 request per minute with a crude curl test, just hitting the same page quickly.

I’ve then set up a 12 droplets on Digital Ocean using self-hosted ddosify and run 12 simultaneous tests (from different IP Addresses to avoid hitting the rate limiter) where a range of 4 pages are hit once every second over the course of 100 seconds.

Even with this more structured test I am hitting rate limits and this is only simulating 12 users. Again this is unsurprising with the Starter Plan. But it does start to give me concerns about how quickly rate limits could be hit on better plans.

I have been reading the documentation on the rate limiting to understand the route to avoiding hitting the limits, but is unclear how it is applied and how I can access higher rate limits. Much of it refers to API connections.

The documentation also refers to pricing plans that are no longer (Professional or above) in place and it is unclear how purchasing additional capacity or buying higher plans provides higher rate limits and what would they be?

The documentation says the following:

The rate limit starts at 1,000/minute and then once on a Professional plan or above you can increase this limit. For every unit of capacity you add to your plan above 2 you’ll get an additional 1,000 requests per minute.

So the questions I have are as follows:

  1. The documentation refers to capacity being added to my plan when capacity above 2 is added - what does that mean? Is that 2 blocks of something? I have looked at the additional work unit purchases and they are sold in the 000’s. It is not clear what 2 units of capacity are?

  2. If I have upgrade to Growth or Team what are the starting rates for those plans and how do I calculate what the limits will be?

I am starting to wonder if the Enterprise dedicated server option will be the way forward (there will be load of others things I can do to make the app more efficient too).

I am interested in hearing other’s thoughts and opinions on this. And would appreciate feedback from those of you who have come up against similar challenges. :wink:

Many thanks.

1 Like

An update for y’all on this.

I spoke to the team at Bubble and the problem I encountered was rate limiting on Cloud Flare.

The best way around this is to go Dedicated and then you can have control over those settings (and fixed work units > costs).

1 Like

Hi Alan,

We encountered the same issue. Can you elaborate on how you dealt with it? We developed a product for schools where students use it simultaneously from the same IP address.

What do you think is the best way to handle this?

Thanks,
Ran

Hi ran,

Yeah this is a bit of a conundrum.

Essentially we were not able to find a direct solution to it.

I happened at the time to be having some calls with Bubble to talk about Dedicated Hosting and I raised the issue then.

Essentially this is a Cloud Flare thing to enable Bubble to even out loud across their entire shared platform. In a general sense they need to protect it from sudden surges in traffic on a small number of apps.

They said if we moved to dedicated we could switch off Cloudflare and then we would get around the problem.

Given the expense of dedicated and the place we are in our product life cycle we decided to look at alternative architectural approaches.

So we turned the front end in to an SPA. Much of they delay we had in page loading was with each page being a separate template/page in Bubble. Once we pout everything in an SPA the site was much much faster.

Given our user profile where we would perhaps have 200-300 users at any one time, where many of them may come to the site over a number of minutes rather than all at the same time - and then stay on the site for a sustained period of time as an auction closes, that we would probably avoid further backing off from Cloudflare - given that once the page has been loaded then it is not reloaded as the user navigate and does things within the SPA.

So the trick is to get the users in to the SPA and then take it from there.

I am not convinced it will work, as we are yet to see that level of load.

Don’t worry. As a business, you only need to prove you can get those users to your site, no matter how slowly, to validate your product idea. At that point, if it is an issue, you can go dedicated or build off of Bubble as you know the market exists.