kyril
kyril

Reputation: 23

Apache: simultaneous connections to single script

How does Apache (most popular version nowadays, i guess) handle a connection to a script when this script is already being executed for another connection?

My guess has always been - upon receipt of a request to a script, script's contents are copied-to-memory/compiled/executed, and IF during this process there's another request to this script - same things happen (assuming Apache does not lock the script file, and simply gives another share of memory/cpu for another compilation/memory-storage/execution)

Or is there a queuing/waiting mechanism involved?

Assuming this additional connection is afforded enough memory, cpu, and does not pass maximum connections setting.

Upvotes: 2

Views: 750

Answers (1)

acanimal
acanimal

Reputation: 5020

The quickly (and easy) answer is every request is processes by a new process. Apache listens in some port and for each request create a new process that handles that request. That means no shared memory.

Also take a look to processes with "ps" command, you will see one "http" process for each request.

Take a look here for more complex working: http://httpd.apache.org/docs/2.0/mod/worker.html and look at google too :) http://docstore.mik.ua/orelly/weblinux2/apache/ch01_02.htm

Upvotes: 2

Related Questions