溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解Nginx啟用proxy_buffer緩沖

發布時間:2020-09-05 21:49:45 來源:腳本之家 閱讀:282 作者:南琴浪博客 欄目:服務器

顧名思義,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 「此句可能理解有誤」。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女