2

当已经为另一个连接执行该脚本时,Apache(我猜是当今最流行的版本)如何处理与脚本的连接?

我的猜测一直是 - 在收到对脚本的请求后,脚本的内容被复制到内存/编译/执行,并且如果在此过程中对该脚本有另一个请求 - 会发生同样的事情(假设 Apache 没有锁定脚本文件,并简单地为另一个编译/内存存储/执行提供另一份内存/cpu)

或者是否涉及排队/等待机制?

假设这个额外的连接被提供了足够的内存、cpu,并且没有通过最大连接设置。

4

1 回答 1

2

快速(且简单)的答案是每个请求都是由一个新进程处理的。Apache 侦听某个端口,并为每个请求创建一个处理该请求的新进程。这意味着没有共享内存。

还可以使用“ps”命令查看进程,您将看到每个请求都有一个“http”进程。

看看这里更复杂的工作:http ://httpd.apache.org/docs/2.0/mod/worker.html 也看看谷歌:) http://docstore.mik.ua/orelly/weblinux2/apache /ch01_02.htm

于 2012-01-30T21:38:25.073 回答