php – nginx如何处理文件下载等长时间运行的请求?

根据我对Nginx的有限理解,我知道Nginx通过使用一个处理所有请求而不是Apache的单个线程从Apache分离自己,这会引发问题的线程.从理论上讲,一堆小请求的速度更快.但是长期运行的请求呢?

让我们说一个用户正在下载一个文件,或者有一些长时间运行的PHP脚本由于它依赖于(磁盘IO,数据库)的速度很慢而很慢.使用Apache时,所有内容都有自己的线程,因此当PHP等待来自数据库的响应时,另一个请求可以进入并同时处理.但是,使用Nginx,是不是会锁定线程以及整个服务器?我知道你可以拥有多个Nginx进程,但只为文件下载创建更多进程似乎就像尝试重新创建Apache一样.

我知道我在这里遗漏了一些东西,因为Nginx处理这样的情况,但是什么? Nginx如何通过其线程模型实现这一目标?

在你说之前,这不是this question的重复,因为它只讨论传入的连接

解决方法:

Nginx中的工作进程可以同时处理多个传入和传出请求.您链接的问题(3436808)的答案也适用于此问题.

相关文章

Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一...
本地项目配置 1 复制 luffy/settings/dev.py为prop.py 修改l...
nginx不仅可以隐藏版本信息,还支持自定义web服务器信息 先看...
一 、此次漏洞分析 1 nginx HTTP/2漏洞 [nginx-announce] ng...
###进入nginx 目录cd /usr/local/nginx###递归显示 2 级目录...
在cmd命令窗口输入下面命令进行查看 tasklist /fi "ima...