Hello community people!
I need to put one reactive app in production that basically has a form to submit. But this form is in high demand, with maybe 2000 people accessing the app at the same time, because it is launched at a certain date/time. So these 2000 people refresh, click, and submit all at the same time!
We have 2 frontend servers, but I don't know if it's enough.
How would you handle something like this? Any strategies to "cool down" or "delay" these requests?
Have a nice weekend ;)
Hi Diogo,
You should execute the following steps to prepare for a successful launch.
To add new Front-end servers see:
If you use OutSystems in the cloud hosted by OutSystems, create support cases for horizontal scaling of front end servers and vertical scaling (CPU, Memory) of Front-end servers and database server.
Regards,
Daniel
What kind of logic is executed when the form is submitted?
Well Ramon,
it has a lot of logic, but I think the problem starts before that, while they are refreshing the page to try to be the first to submit the form...
Enterprise applications should be predictable, meaning they must remain consistent and reliable across different scenarios. To ensure your application can scale to handle 2000 concurrent users, you should perform load testing using a tool like K6. The results will help determine whether you need horizontal scaling (adding more frontend servers) or vertical scaling (increasing the capacity of your existing servers), or possibly both.
Hi @Diogo Barbosa ,
I fully agree with Daniel’s proposal. Based on your description, I believe the matter should be handled by someone with experience, ensuring that the solution implemented is the most suitable for the specific case.
The costs associated with an incorrect implementation can lead to unnecessary expenses. For example, if this form is used only for a few days each year, we would be spending financial resources all year round to support something that happens only occasionally, on predictable dates.