22
Views
5
Comments
Solved
Form with lots of requests
Question
Application Type
Reactive

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 ;)

2024-07-05 14-16-55
Daniël Kuhlmann
 
MVP
Solution

Hi Diogo,

You should execute the following steps to prepare for a successful launch.

  1. Based on expected concurrent users / peek performance, using the Sizing OutSystems Platform page, calculate the recommended setup of your front-end servers (Quantity, CPU, Memory) and database server (CPU and Memory). 
    https://success.outsystems.com/documentation/best_practices/infrastructure_management/designing_outsystems_infrastructures/sizing_outsystems_platform/

  2. If you have a Pre-Production environment, the request scale up of the FE servers and Database Server as based on calculations of step 1. If you don't have a Pre-Production environment, then ask for scale up of the production environment.

  3. Plan & Execute a load test to validate peek performance. If you don't have the expertise, consider hiring a company who is specialized in this. If you search you will find several documentations, webinars, or YouTube videos on how to do load testing. My advice is hire experts to do this job.

    Make sure you following also the steps highlighted here:
    https://success.outsystems.com/support/security/load_and_penetration_tests_on_outsystems_cloud/

  4.  Based on the load test results, reconsider the sizing of Front End Servers, and Database server, and execute the the load/stress test again. 

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

2019-11-14 12-29-35
Ramon Pigmans

Hi Diogo,

What kind of logic is executed when the form is submitted?

2023-11-10 11-46-42
Diogo Barbosa

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...

2019-01-07 16-04-16
Siya
 
MVP

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.

2024-07-05 14-16-55
Daniël Kuhlmann
 
MVP
Solution

Hi Diogo,

You should execute the following steps to prepare for a successful launch.

  1. Based on expected concurrent users / peek performance, using the Sizing OutSystems Platform page, calculate the recommended setup of your front-end servers (Quantity, CPU, Memory) and database server (CPU and Memory). 
    https://success.outsystems.com/documentation/best_practices/infrastructure_management/designing_outsystems_infrastructures/sizing_outsystems_platform/

  2. If you have a Pre-Production environment, the request scale up of the FE servers and Database Server as based on calculations of step 1. If you don't have a Pre-Production environment, then ask for scale up of the production environment.

  3. Plan & Execute a load test to validate peek performance. If you don't have the expertise, consider hiring a company who is specialized in this. If you search you will find several documentations, webinars, or YouTube videos on how to do load testing. My advice is hire experts to do this job.

    Make sure you following also the steps highlighted here:
    https://success.outsystems.com/support/security/load_and_penetration_tests_on_outsystems_cloud/

  4.  Based on the load test results, reconsider the sizing of Front End Servers, and Database server, and execute the the load/stress test again. 

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

2021-11-19 11-12-44
Rui Mendes

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.

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.