一 接收客户端client请求是的buffer配置
client_header_buffer_size
large_client_header_buffers
client_body_buffer_size
client_max_body_size
二 反向代理时的buffer配置
1 2 3 4 5 |
|
1 proxy_buffering
proxy buffer的总开关,默认开启。在 proxy_buffering 开启的时候,proxy_buffers 和 proxy_busy_buffers_size 才会起作用。
2 proxy_buffers
指定一个 request 的 buffer 的数量和大小。
3 proxy_buffer_size
proxy_buffer_size 有一点特殊在于,无论 proxy_buffering 是否开启,proxy_buffer_size 都会起作用。指定后端 response 的 buffer 的大小。它是来自后端 response 的一部分,它包含 Headers,从 response 分离出来。它仅用于限定 headers 的 buffer 区,所以它的值比 proxy_buffers 更低。
4 proxy_busy_buffers_size
忙时 buffer 的最大值。一个客户端一次只能从一个 buffer 中读取数据的同时,剩下的 buffer 会被放到队列中,等待发送到客户端,这个 directive 指定在这个状态下的 buffer 的大小。
① 如果 proxy_buffers 关闭
Nginx不会尝试获取到后端服务器所有响应数据之后才返回给客户端,Nginx 会尽快把数据传给客户端,在数据传完之前,Nginx 接收到的最大缓存大小不能超过 proxy_buffer_size 。
② 如果 proxy_buffers 打开
Nginx将会尽可能的读取后端服务器的数据到buffer,直到proxy_buffers设置的所有buffer们被写满或者数据被读取完(EOF),此时Nginx开始向客户端传输数据,会同时传输这一整串buffer们。如果数据很大的话,Nginx会接收并把他们写入到temp_file里去,大小由proxy_max_temp_file_size 控制。「当数据没有完全读完的时候」,Nginx同时向客户端传送的buffer 大小 不能超过 proxy_busy_buffers_size 「此句可能理解有误」。
参考连接:https://www.cnblogs.com/yeyinfu/p/7317446.html