Nginx的proxy buffer参数总结
1. proxy_buffering
语法:proxy_buffering on|off
默认值:proxy_buffering on
上下文:http,server,location
作用:该指令开启从后端被代理服务器的响应body缓冲。
如果proxy_buffering开启,nginx假定被代理的后端服务器会以最快速度响应,并把内容保存在由指令 proxy_buffer_size 和 proxy_buffers 指定的缓冲区里边.
如果响应body无法放在内存里边,那么部分内容会被写到磁盘上。
如果proxy_buffering被关闭了,那么响应body会按照获取body的多少立刻同步传送到客户端。nginx不尝试计算被代理服务器整个响应body的大小,nginx能从服务器接受的最大数据,是由指令 proxy_buffer_size指定的。
对于基于长轮询(long-polling)的Comet 应用来说,关闭 proxy_buffering 是重要的,不然异步响应将被缓存导致Comet无法工作。
但是无论proxy_buffering是否开启,proxy_buffer_size都是生效的
2. proxy_buffers
语法:proxy_buffers 数量 size
默认值:proxy_buffers 256 8k
上下文:http,server,location
作用:设置存储被代理服务器响应的body所占用的buffer个数和每个buffer大小。
具体的意思是说,开辟256个长度为8k大小的read_buf用来存储body,当然不是连接建立初始化时就开辟256个,而是当当前buf不够存响应body时才会新申请一个,最多申请256个buf。
3. proxy_buffer_size
语法:proxy_buffer_size size
默认值:proxy_buffer_size 4k/8k
上下文:http,server,location
作用:Nginx使用该大小申请read_buf,即大小指定了 upstream header 最大长度,如果响应头超过了这个长度,Nginx会报upstream sent too big header错误,然后client收到的是502。
4. proxy_busy_buffer_size
语法:proxy_busy_buffer_size size
上下文:http,server,location
作用:proxy_busy_buffers_size不是独立的空间,他是proxy_buffers和proxy_buffer_size的一部分。
nginx会在没有完全读完后端响应就开始向客户端传送数据,所以它会划出一部分busy状态的buffer来专门向客户端传送数据(建议为proxy_buffers中单个缓冲区的2倍),然后它继续从后端取数据。
proxy_busy_buffer_size参数用来设置处于busy状态的buffer有多大。
1)如果完整数据大小小于busy_buffer大小,当数据传输完成后,马上传给客户端;
2)如果完整数据大小不小于busy_buffer大小,则装满busy_buffer后,马上传给客户端;
5. proxy_temp_path
语法:proxy_temp_path path [level1 level2 level3]
默认值:proxy_temp_path proxy_temp
上下文:http,server,location
作用:定义proxy的临时文件存在目录以及目录的层级。
6. proxy_max_temp_file_size
语法:proxy_max_temp_file_size size;
默认值:proxy_max_temp_file_size 1024m;
上下文:http, server, location
作用:设置临时文件的总大小
7. proxy_temp_file_wirte_size
作用:设置同时写入临时文件的数据量的总大小。通常设置为8k或者16k。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示