Apache / PHP多请求处理和调度?

时间:2011-12-30 00:05:18

标签: php linux apache networking node.js

User1<===HTTP====>Web Server
User2<===HTTP====>Web Server

Time~0, User1 connects to Web Server
Time~0, User2 connects to Web server

Time=10 seconds, User1 queries that further causes database search/update for  
                 10seconds.
Time=11 seconds, User2 is requesting something from server.

Will User2's request will be processed after Time=10+10=20 seconds?

我相信如果PHP进程忙了10秒,它就无法处理其他请求。

有人可以就以下事项发表评论:

-Apache web server

-PHP过程

-CPU进程/线程调度

我对PHP不是很清楚,但我很确定Node.js可以处理其他请求,如果是数据库查询或任何需要时间的事情(通过使用异步回调)。

1 个答案:

答案 0 :(得分:1)

HTTP请求是独立的,并且通过使用多个进程/线程(Apache和PHP)同时为两个用户进行处理。

在您的方案中,唯一可能导致一个用户与另一个用户相关的事情是,他们是在更新(或任何其他类型的更改)数据库中的相同内容,从而导致并发。只需从数据库中选择数据,也应同时处理多个请求。