This numbers are based on a real world web app (similar to the one OP was talking about) tested with real users in various instances.
If sounds like a mockery, well, it is the actual performace measured.
And dont get me wrong, I used Xojo after all, I just had to fire up 8 instances for the 120 users groups and 12 instances for the largest 200 users one.
Of cours that YMMV with a different kind of app but in my case, more than 15 users and the app started to disconnect some users and had to refresh the page to login again.
It was “OK” because it was known that the largest group was 200 and the server had 12 cores, it ran the 12 instnaces fine, but scalling beyond 200 (again, for this specific app), I would have needed another tool.