微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

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

解决方法:

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐