If I didn’t misunderstand it, a web app works creating a session for every browser connected to it, right ?
So how can I know the number of browsers/sessions a web app can handle before becoming unusable… tenths? Hundreds ? Thousands?
Sorry if the question is too basic I am illiterate regarding Xojo web apps.
It is not possible to give a straight answer, since memory and CPU consumption varies with the complexity of the program.
I recall seeing posts from people reporting their app was able to scale up to 500 simultaneous connections without much slowdown.
BTW 500 simultaneous connections means quite a lot of users.
By default, web apps can handle 200 simultaneous connections. Keep in mind that a connection is not the same as a session though.
When a browser first connects to your app, there are typically 3-4 simultaneous connections to get all of the initial assets down the the browser. This is a standard number across the browsers and not something that we can adjust. Once the initial payload has been delivered, browsers tend to settle down to 1 or 2 connections. There is always at least one connection per session open.
Assuming CPU and RAM were no object… during initial connection, the effective number of users per instance is about 50, but once they get going, it gets closer to 200 (probably around 180).
That said, once your app needs to host more than that, there are sev rap techniques you can use to increase that number. For instance… if you’re running a standalone app, you can specify a command line option to increase the number of connections. There’s a limit to this however, because Xojo apps run on a single core, eventually you’ll need to start running instances of your app in parallel. This can be done with a Reverse Proxy or a Load Balancer.
On average, on the fingers of both hands.