gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-10-31 23:43:37 25 4
gpt4 key购买 nike

根据我对 nginx 的有限了解,我知道 nginx 通过使用处理所有请求的单个线程而不是 Apache 将自身与 Apache 分开,Apache 会抛出线程来解决问题。理论上,有一堆小请求会更快。但是长时间运行的请求呢?

假设用户正在下载一个大文件,或者有一些长时间运行的 PHP 脚本由于它所依赖的东西(磁盘 IO、数据库)很慢而运行缓慢。使用 Apache,一切都有自己的线程,因此当 PHP 等待数据库的响应时,另一个请求可以进入并同时处理。然而,对于 nginx,不会有类似的东西锁定线程并因此锁定整个服务器吗?我知道您可以拥有多个 nginx 进程,但为文件下载创建更多进程似乎试图重新创建 Apache。

我知道我在这里遗漏了一些东西,因为 nginx 会处理这样的情况,但是什么? nginx 如何使用它的线程模型做到这一点?

在你说之前,这不是 this question 的副本因为它只谈论传入连接

最佳答案

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

关于php - nginx 如何处理长时间运行的请求,如文件下载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6820580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com