A client of ours generally can get away with running just the one EC2 and also has an Aurora serverless MySQL 5.7 database running, however there are times when their load spikes up significantly. e.g. going from maybe 20 sessions to 200 sessions in a minute. This is because they sell tickets for events and tell people that tickets go on sale at x date so everyone tries to jump on at once.
At the moment the AWS Application load balancer is set to scale up when it hits 60% CPU utilisation across all the EC2 nodes in the fleet. I am not sure what triggers the Aurora serverless to scale up and down as yet. However what I was wondering is if there is any suggestions on how to better handle the increase in load. The spike in load can extend for around 30m or so but then tapers back to a normal level so we are just focusing on that short period of time when load really goes up.
At the moment they are configured to use c4.xlarge instances and in the Aurora rds it has a min capacity of 8 and max of 16
Our client would like to keep the bill down but would like to see better performances, is there any obvious suggestions.
You can schedule autoscaling events using the EC2 Console, so if you know when these tickets go on sale, you can scale up 30 mins before and back down 30 mins after.