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 网络服务器
-PHP流程
-CPU进程/线程调度
我不是很清楚 PHP,但我很确定 Node.js 可以处理其他请求,如果数据库查询或任何需要时间(通过使用异步回调)。
最佳答案
HTTP 请求是独立的,并且通过使用多个进程/线程(由 Apache 和 PHP)同时为两个用户同时处理。
在您的场景中,唯一可能延迟一个用户相对于另一个用户的事情是,如果他们正在更新(或任何其他类型的更改)数据库中的相同内容,从而导致并发。仅仅从数据库中选择数据也应该同时处理多个请求。
关于php - Apache/PHP 多请求处理和调度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8674942/