We have conducted the exam of 2000 concurrent users this week. And it went smoothly.
Our Architecture was, we used an AWS AutoScaling setup with 5 servers running at the start (each has 2CPU, 8GB RAM). Traffic is equally distributed using AWS Load Balancer. For AWS RDS DB we did one change we migrate our DB from m5.large (2CPU, 8GB) to r5.2xlarge (8CPU. 64GB RAM). Also, we have Redis for cashing and performance.
This is the one solution but at the time it's been costly when we upgrade our RDS DB. So now we are in process of cost-effective Database architecture that can handle 2000-3000 concurrent requests. So for our next exam of such load, we will keep everything the same but we will look for cost-effective Database architecture.
Any suggestion will be appreciated.