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

标签 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 网络服务器

-PHP流程

-CPU进程/线程调度

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

最佳答案

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

在您的场景中,唯一可能延迟一个用户相对于另一个用户的事情是,如果他们正在更新(或任何其他类型的更改)数据库中的相同内容,从而导致并发。仅仅从数据库中选择数据也应该同时处理多个请求。

关于php - Apache/PHP 多请求处理和调度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8674942/

相关文章:

c - Linux 中的 atomic_t

apache - 在从 Apache 调用的 PHP-FPM 中设置正确的 REMOTE_ADDR

python - 如何将 Flask 路由与 Apache 和 mod_wsgi 一起使用?

php - 查找非重复记录

php - php和mysql中的自动完成文本框

php - MySQL中如何将数据从一张表复制到另一张表?

php - 只有最上面的开关在我的网站上有效

linux - curl 不可读取的输出

linux - 如何使用 Jenkins shell 命令复制文件但不包括某些目录

php - Apache mod-rewrite htaccess - 带参数的动态 url