顾名思义,proxy_buffer 是用于 proxy 模式的缓冲功能。本文介绍其基本用法。
buffer 是什么
buffer ,即缓冲区,它在 Nginx 上发挥的作用就是 启用一个缓冲区,先在这个缓冲区内进行存储,再把数据发送出去 。和在线观看视频有点类似,先把视频文件缓冲一部分到本地再开始播放。
若没有 buffer,数据将会直接从 Nginx 传输到客户端。假设如果客户端的加载速度足够快,你可以直接把 buffer 关掉,让数据尽可能快地到达客户端。
而使用 buffer,Nginx 将会临时存储后端 response 到缓冲区,然后慢慢把数据发送到客户端。启用 buffer 的好处在于可以把数据一次性地发送给目标,相较于即时传输可以节约出这部分带宽。
顺带一提,Nginx 全局配置中的 tcp_nopush 的作用就是 数据包会累计到一定大小之后才会发送 。而 tcp_nodelay 是尽快发送数据,所以若你启用了 buffer,建议关闭 tcp_nodelay。
下面总结下 nginx buffer 设置:
proxy_buffer_size 4k; proxy_buffering on; proxy_buffers 4 4k; proxy_busy_buffers_size 8k; proxy_max_temp_file_size 1024m;
首先,这些参数都是针对每一个http request ,不是全局的。
proxy_buffer 的配置
proxy_buffer 是用于 proxy 模式(一般也可称为反向代理)的 buffer 配置。Nginx 有另外一种适用于 server 模式的 buffer 配置,这里本帖不做介绍。
proxy_buffer 包括了以下配置项:
需注意,以下指定的数值都是针对每一个 http request 的上限,而不是对于整个 buffer 区指定的上限。
proxy_buffering
proxy_buffering on;
在 proxy_buffering 开启的时候,proxy_buffers 和 proxy_busy_buffers_size 才会起作用。
proxy_buffers
proxy_buffers 4 8k;
指定一个 request 的 buffer 的数量和大小。
proxy_buffer_size
proxy_buffer_size 4k;
指定后端 response 的 buffer 的大小。它是来自后端 response 的一部分,它包含 Headers,从 response 分离出来。它仅用于限定 headers 的 buffer 区,所以它的值比 proxy_buffers 更低。
proxy_buffer_size 有一点特殊在于,无论 proxy_buffering 是否开启,proxy_buffer_size 都会起作用。
proxy_busy_buffers_size
proxy_busy_buffers_size 12k;
忙时 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 「此句可能理解有误」。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 《暗喻幻想》顺风耳作用介绍
- 崔健1985-梦中的倾诉[再版][WAV+CUE]
- 黄子馨《追星Xin的恋人们2》HQ头版限量编号[WAV+CUE]
- 孟庭苇《情人的眼泪》开盘母带[低速原抓WAV+CUE]
- 孙露《谁为我停留HQCD》[低速原抓WAV+CUE][1.1G]
- 孙悦《时光音乐会》纯银CD[低速原抓WAV+CUE][1.1G]
- 任然《渐晚》[FLAC/分轨][72.32MB]
- 英雄联盟新英雄安蓓萨上线了吗 新英雄安蓓萨技能介绍
- 魔兽世界奥杜尔竞速赛什么时候开启 奥杜尔竞速赛开启时间介绍
- 无畏契约CGRS准星代码多少 CGRS准星代码分享一览
- 张靓颖.2012-倾听【少城时代】【WAV+CUE】
- 游鸿明.1999-五月的雪【大宇国际】【WAV+CUE】
- 曹方.2005-遇见我【钛友文化】【WAV+CUE】
- Unity6引擎上线:稳定性提升、CPU性能最高提升4倍
- 人皇Sky今日举行婚礼!电竞传奇步入新篇章