0

I have an Apache web application which is serving ~2k Requests Per Minute. The current infrastructure includes two servers, one acting as Apache + database, and the second one just database.

I'm trying to evaluate the added value from moving the Apache to its own server and/or maybe even a couple of small instances and a load balancer.

How can I perform such evaluation? I'm using New Relic for server monitoring and seeing most (~70%) of the app server time spent is in PHP.

Noam
  • 129

1 Answers1

0

It is a pretty standard n+1 architecture you are describing. It will certainly provide you with many scaling options going forward.

Many of our services run on similar format

  • LB - with stateless routing if possible
  • Multiple Apache servers - these will need a Apache, PHP etc and the MySQL client libs installed.
  • DB Server - MySQL

This format also benefits from providing the ability for a Apache instance to be taken down for updates and allowing the site to remain live (you must consider how you manage data changes).

You mentioned a small instance - if you are in AWS - you can use their elastic load balancer in front of your Apache instances - it works extremely well. They also offer MySQL DBs as a service too.

New relic has plugins for all aspects so you can monitor load across each element of the infrastructure.

There are also many options available to scale MySQL - we find read only slaves very effective for our applications.