I'm trying to estimate a number of concurrent users a WordPress AWS setup can withstand (that needs to be highly available and support huge loads). I am asked for a loose range that I would say we can guarantee (they asked the guy that's new to DevOps...).
The architecture looks as follows:
- Two RDS
r5.2xlarge
instances (Main + Read replica) for the DB. - An autoscaling group managing 1 to 25
t2.2xlarge
EC2 instances. - CloudFront as a CDN for the content.
Some conditions about the application:
- There are around 1300 publications.
- Each page weights between 200 Kb and 3 Mb (very rare), being mostly around 500 Kb.
Obviously the aim is to have "reasonable" response times, although I haven't been told of a range.
By concurrent users I mean concurrent petitions or hits. I would love to actually test it, but unfortunately I need a lot of paid resources.
I don't really know which is the right reasoning to apply here. The most helpful and related thing I've found so far is this - however, the conditions are quite different and we can't really take the numbers and linearly scale them. The author of the post has measured that with 18 t2.medium
instances running at 60% it is possible to run WP with 90 RPS and keeping response times of approximately 350ms. Extending this conclusion to my architecture escapes my understanding.
Ideally, besides an answer to my problem, I'd like to get a method for coming to valid answers to these questions.