Large Amount of Users

Hi,

I’m using Bubble for a scavenger hunt game this January. About 2,000 to 2,500 people (over three days) are estimated to play, with about another 800-1,000 visitors just viewing the home page on top of that (per day). What steps can I take to ensure that my app does not crash during those three days of heavy use? We’ll be on the Professional plan, which means reserved server capacity. Am I all set?

Thanks,

1 Like

You may need to buy additional capacity, depending on how your workflows are constructed and such.

2 Likes

If you’re only having these people online for those three days, you can up you server capacity for those days only and past these days put it back to “normal” or shut it down if won’t be used anymore.

Bubble charges that prorate, so you will only pay 3 days of “max server capacity” instead of the full month price.

Now it really depends on the intensity of your application. I recommend stress testing it somehow, maybe upping the server capacity and getting people online for some promotional pre-game or doing some projection based on fewer people online. Like, 100 people online uses 5% of capacity… then 1000 people will probably be around 50% or so. Can’t say for sure, so testing is the only way to know that I’m aware of.

If you see it will not handle the stress, optimizing the app may help.

1 Like

Hey nskyes - we are in the process of getting our app ready for launch. As part of that I started looking at how to optimize the app in terms of performance. I found that the app size was really huge - because we were loading a lot of data unnecessarily in the home page (because we were using a lot of “:filtered” filters in the data sources, rather than searching directly for things).

I also did some testing with Flood.io. You get 5 testing-hours for free, but you can pay for more. The idea is you point Flood at your app and can simulate using the app with any number of users to see how the servers respond. You write scripts (I’m using the JavaSCript version running under Chrome) that do things like “type user name, type password, click ‘log in’, navigate to profile page”. Flood.io scales up to as many users as you want to test (more users == more of your $/time).

By looking in the “logs” section of your Bubble app you can see the effect of the Flood.io tests, and see how much bandwidth and CPU is being used etc.

Honestly, so far the results from that are a bit concerning - but they are at least handy to test the effects of changes. I’d recommend trying it out.

1 Like

Can I asked what was the result?

I’m doing some more testing in the coming days to verify, so I’ll wait to see the results before spreading any false info!

(@JohnMark - I added some extra findings below)

1 Like

First time hear about such thing. Could you please add more details? How I can switch to different plan for a limited time?

It’s not switching to a new plan, it’s just paying for increased capacity when you need it. You have to already be on a plan that has reserved capacity.

Got you. You’re talking about professional+ plans.

Read this Another post about performance issues and also the posts linked in there.

1 Like

@nsykes - I think you really need to test with a load-testing tool. I am not sure that your workflows are the bottleneck. It’s a good idea to look at @vini_brito suggestions - but you should first test to see the performance.

I started a new blank test project (using the free/hobby tier) that does nothing (no workflows) but just has a single text box: https://blankperftest.bubbleapps.io/

I ran a Flood.io test with 400 simultaneous users, where the test simply loaded the page and checked the text was displayed. On the regular “hobby” account the page fell over -

Most of the requests timed out (with the “Operation timed out — app too busy” message) and in the logs the CPU is 100% for the entire test.

Again, this is only on the free account and you will likely have more CPU allocated etc - but I think it’s smart to run a load test to see for yourself.

3 Likes

Has anyone else run this sort of flood test on higher tier plans? I’d love to hear what other’s mileage has been

This would be a metric I think a lot of people would like to see bubble report about each plan: I.e. Number of simultaneous users a baseline bubble app (like the Sign Up / Login Lesson) can run on each tier before seeing timeouts. That’s also a fairly objective target that Bubble could use to benchmark themselves and try to raise with platform improvements.

1 Like

Thank you all for your help, I will make sure we reserve the capacity, and will run stress tests before.

Hi @makingthingsapp

Thanks for your post.

Is it possible to point flood.io towards API workflows as well?

I am just using bubble as a backend with dropsource, so I don’t load webpages as such.

Any other services you recommend trying out?

Thanks for this tool!

Hey, the API workflows will really depend on what you are doing.

One thing that is important to note: my test above is with 400 simultaneous “users” - but they aren’t normal users. It’s just repeatedly and constantly hitting the pages with no waiting time - over and over as fast as possible. It’s nothing like real users who will load your pages and then interact with the content.

I think there are other load-testing services out there, but I haven’t tried them (as Flood did what I needed to do)

Good luck!

This topic was automatically closed after 70 days. New replies are no longer allowed.