Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am researching on the topic of scaling, and I discovered something called the middleware which is basically handling the requests, correct? If that is true, what is the middleware in a LAMP stack? It's Apache right? How can I even check what is handling my requests? I want to know more about the LAMP stack and scaling, and have read a lot of questions on SF already, but I don't really know what questions to ask so if anyone can just throw down a megaton of knowledge on me or point me to the right resources, that would be great!

TLDR: I want to learn more about LAMP stack and scaling the LAMP stack but don't know where to begin. I am a total beginner.


I also read these:

share|improve this question

closed as not a real question by John Gardeniers, EEAA, Khaled, Ward, MDMarra May 13 '12 at 18:24

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

"Middleware" is a term that gets bandied about but which has no defined meaning. It's used mostly by marketing people. – John Gardeniers May 3 '12 at 7:29

What is the middleware in a typical Debian LAMP stack?

Nothing. Seriously. The TYPICAL LAMP stack is like the typical windows stack - per number of deployments: Single machine. Then moving database o separate machine, cluster front end with load balancer before. No middleware.

share|improve this answer
What is taking care of all the requests? Is it just handling 1 request at a time then? Forgive me if my question is stupid. I'm trying to workout all these things and understand everything. – Doug May 3 '12 at 7:30
? Sorry, the whole stack is able to handle multiple requssts. Linus has no problem with it, APache has no problem with it, MySql has no problem with it and Perl neither. – TomTom May 3 '12 at 8:51

"middleware" is a very generic term and often describes different things in different contexts.

How can I even check what is handling my requests?

Apache, PHP and mysql are a stack of components running on top of an operating system (or potentially multiple operating systems) - the label omits the filesystem(s) which are also an important part of the stack. Different requests will be resolved at different levels of the stack. Apache won't deal with MySQL queries (but might cache pages containing their results). The application logs are the place to start looking.

I want to learn more about LAMP stack and scaling the LAMP stack but don't know where to begin

That's actually quite a good starting point - it's a big subject and even people who think they are experts often get stuff wrong. I've been working with LAMP based systems for 10 years and am still learning new things. It's the same as any learning process - read as much as you can and experiment. Looking at other architectures helps to put the one your interested in in perspective.

In the case of a LAMP stack, scalability is mainly about the storage tier - i.e. MySQL replication/federation and the filesystem (shared filesystems, network filesystems, replicated filesystems)

share|improve this answer

"Handling the requests" is too general, every component in a LAMP stack handles requests of one sort or another.

It is not clear what you are looking for exactly, perhaps wikipedia's article on middleware can help you on your way a bit?

Typical middleware are application servers like JBoss, WebSphere Application Server or weblogic. Another example is a messaging system like IBM WebSphere MQseries.

Apache is usually not considered middleware but in the case of a PHP application it might fit the description.

The M ysql in LAMP is the database layer and is usually not considered middleware either. But if you need to consider scaling that's an important layer to look into as well.

share|improve this answer
I wish I could be more specific. – Doug May 3 '12 at 7:32

Not the answer you're looking for? Browse other questions tagged or ask your own question.