国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > Nginx > 正文

詳解Nginx啟用proxy_buffer緩沖

2024-08-30 12:29:21
字體:
供稿:網(wǎng)友

顧名思義,proxy_buffer 是用于 proxy 模式的緩沖功能。本文介紹其基本用法。

buffer 是什么

buffer ,即緩沖區(qū),它在 Nginx 上發(fā)揮的作用就是 啟用一個(gè)緩沖區(qū),先在這個(gè)緩沖區(qū)內(nèi)進(jìn)行存儲(chǔ),再把數(shù)據(jù)發(fā)送出去 。和在線觀看視頻有點(diǎn)類似,先把視頻文件緩沖一部分到本地再開始播放。

若沒有 buffer,數(shù)據(jù)將會(huì)直接從 Nginx 傳輸?shù)娇蛻舳恕<僭O(shè)如果客戶端的加載速度足夠快,你可以直接把 buffer 關(guān)掉,讓數(shù)據(jù)盡可能快地到達(dá)客戶端。

而使用 buffer,Nginx 將會(huì)臨時(shí)存儲(chǔ)后端 response 到緩沖區(qū),然后慢慢把數(shù)據(jù)發(fā)送到客戶端。啟用 buffer 的好處在于可以把數(shù)據(jù)一次性地發(fā)送給目標(biāo),相較于即時(shí)傳輸可以節(jié)約出這部分帶寬。

順帶一提,Nginx 全局配置中的 tcp_nopush 的作用就是 數(shù)據(jù)包會(huì)累計(jì)到一定大小之后才會(huì)發(fā)送 。而 tcp_nodelay 是盡快發(fā)送數(shù)據(jù),所以若你啟用了 buffer,建議關(guān)閉 tcp_nodelay。

下面總結(jié)下 nginx buffer 設(shè)置:

proxy_buffer_size 4k;proxy_buffering on;proxy_buffers 4 4k;proxy_busy_buffers_size 8k;proxy_max_temp_file_size 1024m;

首先,這些參數(shù)都是針對(duì)每一個(gè)http request ,不是全局的。

proxy_buffer 的配置

proxy_buffer 是用于 proxy 模式(一般也可稱為反向代理)的 buffer 配置。Nginx 有另外一種適用于 server 模式的 buffer 配置,這里本帖不做介紹。

proxy_buffer 包括了以下配置項(xiàng):

需注意,以下指定的數(shù)值都是針對(duì)每一個(gè) http request 的上限,而不是對(duì)于整個(gè) buffer 區(qū)指定的上限。

proxy_buffering

proxy_buffering on;

在 proxy_buffering 開啟的時(shí)候,proxy_buffers 和 proxy_busy_buffers_size 才會(huì)起作用。

proxy_buffers

proxy_buffers 4 8k;

指定一個(gè) request 的 buffer 的數(shù)量和大小。

proxy_buffer_size

proxy_buffer_size 4k;

指定后端 response 的 buffer 的大小。它是來自后端 response 的一部分,它包含 Headers,從 response 分離出來。它僅用于限定 headers 的 buffer 區(qū),所以它的值比 proxy_buffers 更低。

proxy_buffer_size 有一點(diǎn)特殊在于,無論 proxy_buffering 是否開啟,proxy_buffer_size 都會(huì)起作用。

proxy_busy_buffers_size

proxy_busy_buffers_size 12k;

忙時(shí) buffer 的最大值。一個(gè)客戶端一次只能從一個(gè) buffer 中讀取數(shù)據(jù)的同時(shí),剩下的 buffer 會(huì)被放到隊(duì)列中,等待發(fā)送到客戶端,這個(gè) directive 指定在這個(gè)狀態(tài)下的 buffer 的大小。

① 如果 proxy_buffers 關(guān)閉

Nginx不會(huì)嘗試獲取到后端服務(wù)器所有響應(yīng)數(shù)據(jù)之后才返回給客戶端,Nginx 會(huì)盡快把數(shù)據(jù)傳給客戶端,在數(shù)據(jù)傳完之前,Nginx 接收到的最大緩存大小不能超過 proxy_buffer_size 。

② 如果 proxy_buffers 打開

Nginx將會(huì)盡可能的讀取后端服務(wù)器的數(shù)據(jù)到buffer,直到proxy_buffers設(shè)置的所有buffer們被寫滿或者數(shù)據(jù)被讀取完(EOF),此時(shí)Nginx開始向客戶端傳輸數(shù)據(jù),會(huì)同時(shí)傳輸這一整串buffer們。如果數(shù)據(jù)很大的話,Nginx會(huì)接收并把他們寫入到temp_file里去,大小由proxy_max_temp_file_size 控制。「當(dāng)數(shù)據(jù)沒有完全讀完的時(shí)候」,Nginx同時(shí)向客戶端傳送的buffer 大小 不能超過 proxy_busy_buffers_size 「此句可能理解有誤」。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 长岛县| 尉犁县| 纳雍县| 宕昌县| 隆尧县| 亳州市| 乡城县| 新田县| 长治市| 新龙县| 江山市| 定西市| 虹口区| 双峰县| 始兴县| 夏河县| 台中县| 陵水| 博湖县| 巴塘县| 灌云县| 灯塔市| 顺平县| 历史| 蓬莱市| 会东县| 宁河县| 阳信县| 页游| 昌黎县| 库车县| 巴彦县| 双江| 客服| 绥阳县| 奉化市| 元朗区| 武宣县| 太仓市| 桑植县| 龙川县|