我正在研究反向代理的配置,其唯一目的是在两个上游服务器之间平衡请求负载,主要是为了在其中一个服务器出现故障时提供冗余。
proxy_buffering
我很好奇描述在这里。
我正在对大型视频文件的请求进行负载平衡,其中最大且最常请求的视频“块”约为 2.5 MB。我们的 CDN 使用字节范围对这些视频发出请求。视频文件比这大得多。
默认proxy_buffering
是启用的。我的问题是:
- nginx 缓冲来自代理服务器的响应有什么好处?如果 (a) 它是一个选项,并且 (b) 它默认打开,那么它一定有一定价值。
- 在我的情况下禁用它有意义吗?请求的数据通常很大?
答案1
我认为proxy_buffering
它只在某些情况下有用。例如,当 nginx 和客户端之间的连接较慢时,它可以避免保持 nginx 和上游之间的连接打开。
但是,即使在您的情况下,我也不确定关闭它是否会显著提高性能。
比禁用更不彻底的改变proxy_buffering
是设置proxy_max_temp_file_size 0
以确保性能不会受到磁盘 IO 的损害。