千家信息网

详解Nginx启用proxy_buffer缓冲

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,顾名思义,proxy_buffer 是用于 proxy 模式的缓冲功能。本文介绍其基本用法。buffer 是什么buffer ,即缓冲区,它在 Nginx 上发挥的作用就是 启用一个缓冲区,先在这个缓
千家信息网最后更新 2024年11月23日详解Nginx启用proxy_buffer缓冲

顾名思义,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 「此句可能理解有误」。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

数据 客户 客户端 大小 缓冲 配置 作用 缓冲区 传输 同时 就是 模式 最大 上限 全局 尽可能 时候 服务器 视频 存储 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 潮流软件开发设施推广 军方的网络安全牛吗 网络安全运维面试题 湖南服务器回收多少钱一台 桐乡市梧桐界频网络技术服务部 transfac数据库教程 徐明伟db2数据库管理最佳实践 金盾网络安全软件公司 吉林网络技术服务热线 手机电话显示无法连接服务器 web服务器工作累吗 无线传感网络技术的军事应用 仓库管理服务器 服务器快速选择usb启动 计算机有哪几种服务器 数据库的name数据类型 电子软件开发的合同模板下载 坝柏网络技术服务部 HCML启动器怎么导入服务器 联想数据中心新服务器 传奇怀旧版有哪些服务器 人才数据库证书查询网址 70数据库黑色阔步者 蚂蚁金网络技术有限公司 同一个数据库怎么联合查询 信息系统与数据库技术问题 软件开发技术文档排版 河南调度服务器安装云主机 车载网络技术应用分析 饥荒一直无法连接到科雷服务器
0