Support Forums

What is the best practice for handling millions users?

Hi, I just wanted to clarify a couple of things. How should we change the server to another available zone that is near our main user base? Also, wanted to make sure how much bandwidth should we require for handling millions of users? Do we have to be in the Pro account or Enterprise?

Netlify is a globally distributed CDN and your users would be routed to the nearest available location automatically provided your DNS is correctly configured.

There’s no straightforward answer for that. We don’t know if you wish to serve a file of 1 KB to 1 million users or 1 MB to 1 million users. You need to estimate your bandwidth usage accordingly.

It’s not a necessity, but and Enterprise account would always be better than Starter/Pro accounts in terms of performance. If you want, we can get you in touch with the sales team and you can discuss your requirements accordingly. If you’d like that, please share a email address where you’d like the sales team to reach out.

Thanks, @Hrishikesh, I got the bandwidth part. Our site size is around 10 MB, so I guess We need probably more than 10000GB. what about the subsequent requests? they will be really small right since most of the files are cached.
Also, I wanted to know about incoming traffic, Our site will be launching next Monday, and we expect a lot of traffic coming in a short amount of time. So let’s say 10k users in 1 second coming, do you think Pro plan can handle this much traffic?

Unfortunately, that’s not how it works. Your total site’s size might be 10 MB while a single asset could be just a few KB in size. Bandwidth is counted like:

size of asset × number of times it was requested

This is done for all the assets your users would request. So only if each user requests all your assets your above statement would be true.

No. Cache has nothing to do with file size. Also, there are 2 places where the content will be cached:

  1. Our CDN
  2. User browser

If and only if the browser serves the content from its cache (a 304 status or from a service worker cache), that file won’t be counted against bandwidth. However, if it’s served from our CDN cache, it will still count against bandwidth.

Starter, Pro and Business use the same CDN level at the moment. It’s only the Enterprise that gets an even powerful CDN. So unless you’re trying to use an Enterprise account, the CDN performance would be the same, regardless of the plan.

The answer to this question is in the last lines of this post, but please read on. We generally ask those question to anyone who asks about preparing for a launch:

  1. Are those 10k users planning to visit from the same location or is it going to be globally distributed?
  2. What time and in which timezone are you planning to do the launch?
  3. Are all of these static assets or are you using Netlify Functions (or even a framework like Nextjs or Svelte that uses Netlify Functions under-the-hood)?

While except for Functions, that amount of traffic would be manageable, we need to let the reliability team know so that they don’t consider this as an attack.

I see. @hrishikesh it would be nice if we could create a direct communication channel.
As for your questions:

  1. It will mainly be from within the country. So not really globally distributed.
  2. UTC +8, about the time we don’t have the set time yet. Probably in the afternoon.
  3. Our front end is React, we have WebSocket. We are not using Netlify functions (as far as I know) if you would like to I can share my Netlify username, and you can check.
    As for my question:
  4. How do we contact your team
  5. We would like to do some stress testing too. So how should we proceed? We probably need to let you guys know right?

I’ll forward all this to our sales team, but they would be offline till Monday.

Would it be fine to reach out to you on the email address used on the forums?

Yep sure. Thanks a lot. I will be looking forward to your email.

Great, I’ve asked the team to contact you. If you don’t get any email from them on Monday, do let us know and we’d re-ping them.

1 Like