Nginx的proxybuffer参数总结
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。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论