alibaba / tengine

A distribution of Nginx with some advanced features
https://tengine.taobao.org
BSD 2-Clause "Simplified" License
12.65k stars 2.52k forks source link

xquic 下载大文件会消耗同等文件大小的内存 #1943

Open fbwfbi opened 1 week ago

fbwfbi commented 1 week ago

Ⅰ. Issue Description

xquic 下载大文件会消耗同等文件大小的内存,无论是否开启 proxy_buffering,均会消耗大量内存;

Ⅱ. Describe what happened

配置 xquic server 块下载文件,后端可以是 proxy_pass 到另外的文件下载服务,或是使用自身的 root 方式指定本地文件,

Ⅲ. Describe what you expected to happen

修复该问题,当配置 proxy_buffering off 时,保持跟 https/http2 同样的行为,无论下载多大的文件,均不会把内存耗尽;

Ⅳ. How to reproduce it (as minimally and precisely as possible)

  1. 通过 listen ip:port xquic 方式使用 xquic 监听器;
  2. 使用 proxy_pass 转向后端文件服务:
       location /download {
            proxy_pass  http://10.0.0.28:8000/ ;
        }

    或是使用 root 指向本地文件下载

      location /download {
            root /path/to/download_files/;
            index default_file;
        }
  3. 使用 curl --http3-only 方式下载文件

Ⅴ. Anything else we need to know?

Ⅵ. Environment:

fbwfbi commented 1 week ago

related to #1910