0

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.

Edit:

I also read these:

http://people.apache.org/~sctemme/ApconUS2007/scalingout.pdf

http://people.apache.org/~sctemme/ApconEU2006/FR4/FR4_Performance_Up.pdf

Strawberry
  • 1,132
  • 4
  • 15
  • 27

3 Answers3

3

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.

TomTom
  • 51,649
  • 7
  • 54
  • 136
  • 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. – Strawberry May 03 '12 at 07: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 03 '12 at 08:51
2

"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)

symcbean
  • 21,009
  • 1
  • 31
  • 52
1

"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.

Bram
  • 1,121
  • 6
  • 9