加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 22:31:22 所属栏目:PHP教程 来源:网络整理
导读:根据我对nginx的有限理解,我知道nginx通过使用一个处理所有请求而不是Apache的单个线程从Apache分离自己,这会引发问题的线程.从理论上讲,一堆小请求的速度更快.但是长期运行的请求呢? 让我们说一个用户正在下载一个大文件,或者有一些长时间运行的PHP脚本由
根据我对nginx的有限理解,我知道nginx通过使用一个处理所有请求而不是Apache的单个线程从Apache分离自己,这会引发问题的线程.从理论上讲,一堆小请求的速度更快.但是长期运行的请求呢?

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

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

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

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读