1

I am running a LAMP Application installed on one server, happily serving about 1M PI per month. Now I am looking into a potential partnership where my app might serve around 50-80M requests per month.

This is how my architecture looks like: enter image description here

So images are served from static.domain.com while the application is served by www.domain.com. The API where 90% of the traffic comes from is under a seperate https domain api.domain.com but queries the mysql and solr stack.

Would one root server with 128GB RAM and SSDs in SW-Raid 1 with an Intel® Xeon® E5-1650 v3 Hexa-Core Haswell be able to handle that load? Most request will go against solr and deliver just a json feed, potentially not hitting the "disc".

Is this overkill with 128GB of RAM or will one server not even be able to handel that load? I could also go with 2 servers and load balance. Question is how within this architecture.

Thank you for any hint on this.

merlin
  • 2,262
  • 12
  • 47
  • 83

2 Answers2

6

I have a piece of string, how many knots can I tie in it?

Really it's down to monitoring how much active load there is on the server and then simulating additional load to push it to a point where you can say for certain.

For math... 50M requests/month, assuming 30 day month works out to about 19-20 requests per second... I'd guess it's possible, depends on exactly how much work solr needs to do and how much overhead your app adds.

Kaithar
  • 1,055
4

Can the server handle it? Yes.

but..

Whether it actually will depends completely on your code. The servers you're viewing this page on currently handle about 75 million requests per month each, and they're pretty bored while doing it, peaking at about 10% CPU. So it's definitely doable.

If you want to scale like that, you'll need to make sure that your application code scales to what you need it to, and might need optimization. Do load testing to make sure that your different application components can scale as you expect them to.

Shane Madden
  • 116,404
  • 13
  • 187
  • 256