欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx代理緩沖proxy_buffering配置方式

 更新時(shí)間:2023年12月22日 15:46:13   作者:HaleyTiger  
這篇文章主要介紹了Nginx代理緩沖proxy_buffering配置方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

什么是代理緩沖

Nginx作為一個(gè)常用的反向代理,提供了代理緩沖的功能。

它允許nginx將server端的響應(yīng)讀取下來緩存在本地內(nèi)存或磁盤中,再已合適的速度發(fā)送給客戶端。

為什么要有代理緩沖

在互聯(lián)網(wǎng)中,nginx作為反向代理層,往往和server是在同區(qū)機(jī)房的。

這意外這nginx和server之間的網(wǎng)絡(luò)質(zhì)量很好,nginx可以用很快的速度從server端讀取響應(yīng)。

但是客戶端往往是用戶網(wǎng)絡(luò),到nginx的機(jī)房網(wǎng)絡(luò)質(zhì)量不可控,肯定是要遠(yuǎn)遠(yuǎn)低于nginx到后端server的網(wǎng)速。

這就會帶來一個(gè)問題:

因?yàn)榭蛻舳说絥ginx的網(wǎng)速過慢,導(dǎo)致nginx只能以一個(gè)較慢的速度將響應(yīng)傳給客戶端;進(jìn)而導(dǎo)致后端server也只能以同樣較慢的速度傳遞響應(yīng)給nginx,造成一次請求連接耗時(shí)過長。

在高并發(fā)的情況下,后端server可能會出現(xiàn)大量的連接積壓,最終拖垮server端。

代理緩沖的優(yōu)缺點(diǎn)

代理緩沖的優(yōu)點(diǎn)

(1)開啟代理緩沖后,nginx可以用較快的速度盡可能將響應(yīng)體讀取并緩沖到本地內(nèi)存或磁盤中,然后同時(shí)根據(jù)客戶端的網(wǎng)絡(luò)質(zhì)量以合適的網(wǎng)速將響應(yīng)傳遞給客戶端。

(2)這樣既解決了server端連接過多的問題,也保證了能持續(xù)穩(wěn)定的像客戶端傳遞響應(yīng)。

代理緩沖的缺點(diǎn)

(1)開啟代理緩沖會消耗nginx服務(wù)器的內(nèi)存,如果請求過多,可能會導(dǎo)致nginx內(nèi)存消耗過大;所以緩沖區(qū)的大小設(shè)置需要根據(jù)實(shí)際的服務(wù)器配置和請求量進(jìn)行評估。

(2)在響應(yīng)過大的情況下,設(shè)置的緩沖區(qū)無法存下整個(gè)響應(yīng)體,nginx會將剩余的內(nèi)容寫到磁盤臨時(shí)文件中。在請求量較大的情況下,可能會導(dǎo)致nginx服務(wù)器磁盤io過高。而往往臨時(shí)文件都存放在/tmp下,而/tmp目錄一般掛載在系統(tǒng)盤上,系統(tǒng)盤io過高會進(jìn)一步導(dǎo)致系統(tǒng)負(fù)載上漲。

(3)在客戶端網(wǎng)絡(luò)質(zhì)量很好的情況下,比如客戶端到nginx也是同機(jī)房內(nèi),這時(shí)關(guān)閉代理緩沖直接將響應(yīng)實(shí)時(shí)轉(zhuǎn)發(fā)給客戶端效率更高。

代理緩沖的配置參數(shù)

nginx對于控制代理緩沖區(qū),有一些常用的配置參數(shù)。這些參數(shù)都是可以作用于http塊、server塊或者location塊中。

1. proxy_buffering

Syntax:	proxy_buffering on | off;
Default:	proxy_buffering on;
Context:	http, server, location

復(fù)制代碼該參數(shù)用戶控制開啟或關(guān)閉代理緩沖區(qū)。

當(dāng)開啟代理緩沖區(qū)時(shí),nginx會盡快的從server端讀取響應(yīng)并緩存在內(nèi)存分配的緩沖區(qū)中。代理緩沖區(qū)的大小由proxy_buffer_size和proxy_buffers參數(shù)指定。

當(dāng)響應(yīng)大小超出內(nèi)存緩沖區(qū)時(shí),一部分響應(yīng)體可以保存在磁盤臨時(shí)文件中。磁盤臨時(shí)文件的大小由proxy_max_temp_file_size和proxy_temp_file_write_size參數(shù)指定。

2. proxy_buffer_size

Syntax:	proxy_buffer_size size;
Default:	proxy_buffer_size 4k|8k;
Context:	http, server, location

復(fù)制代碼該參數(shù)用于設(shè)置從server端讀取初始部分響應(yīng)(the first part of the response)所使用的緩存大小。這部分通常包含了一個(gè)小的response header。

通常,該緩沖區(qū)大小設(shè)置為一個(gè)內(nèi)存頁的大小,具體是4k或8k,取決于服務(wù)器平臺。也可以把它設(shè)置的更小,但是沒必要設(shè)置過大了,因?yàn)橹皇怯糜诰彌_初始部分響應(yīng)。

值得注意的是,proxy_buffer_size參數(shù)并不受proxy_buffering開啟或關(guān)閉的影響。它始終都是生效的。

3. proxy_buffers

Syntax:	proxy_buffers number size;
Default:	proxy_buffers 8 4k|8k;
Context:	http, server, location

復(fù)制代碼該參數(shù)用于設(shè)置從server端讀取響應(yīng)所使用的緩沖區(qū)個(gè)數(shù)和大小。通常默認(rèn)情況下,單個(gè)緩沖區(qū)大小設(shè)置為一個(gè)內(nèi)存頁的大小,如4k或8k。

值得注意的是,這里設(shè)置的緩沖區(qū)大小是針對每個(gè)請求連接而言的。也就是說對于每一個(gè)連接,都會分配 ”number*size“大小的內(nèi)存緩沖區(qū)。

另外需要注意,要根據(jù)服務(wù)器配置和請求量評估緩沖區(qū)配置大?。槐苊獬霈F(xiàn)nginx將內(nèi)存耗盡的情況。

4. proxy_busy_buffers_size

Syntax:	proxy_busy_buffers_size size;
Default:	proxy_busy_buffers_size 8k|16k;
Context:	http, server, location

復(fù)制代碼該參數(shù)用于設(shè)置當(dāng)還未從server端讀取到完整響應(yīng)時(shí),允許開始給客戶端發(fā)送響應(yīng)的緩沖區(qū)大小。

在指定大小的緩沖區(qū)進(jìn)入busy狀態(tài)后將無法再寫入,而剩余的緩沖區(qū)可以同時(shí)繼續(xù)從server端讀取響應(yīng),或者將響應(yīng)寫入磁盤臨時(shí)文件。

通常該參數(shù)值設(shè)置為proxy_buffer_size和proxy_buffers中單個(gè)buffer之和,也就是單個(gè)內(nèi)存頁的2倍。

5. proxy_max_temp_file_size

Syntax:	proxy_max_temp_file_size size;
Default:	proxy_max_temp_file_size 1024m;
Context:	http, server, location

復(fù)制代碼該參數(shù)用于設(shè)置磁盤臨時(shí)文件的最大size。

當(dāng)server端返回的整個(gè)響應(yīng)超出proxy_buffering和proxy_buffers設(shè)置的內(nèi)存緩沖區(qū)大小時(shí),剩余的響應(yīng)體可以保存在一個(gè)磁盤臨時(shí)文件中。proxy_max_temp_file_size指定了該臨時(shí)文件的最大大小。

而一次能寫入磁盤臨時(shí)文件的數(shù)據(jù)大小由proxy_temp_file_write_size參數(shù)指定。

注意,proxy_max_temp_file_size參數(shù)設(shè)置為0可以禁止將響應(yīng)保存到磁盤臨時(shí)文件中。

6. proxy_temp_file_write_size

Syntax:	proxy_temp_file_write_size size;
Default:	proxy_temp_file_write_size 8k|16k;
Context:	http, server, location

復(fù)制代碼該參數(shù)用于設(shè)置每次寫入磁盤臨時(shí)文件的大小。

通常該參數(shù)值設(shè)置為proxy_buffer_size和proxy_buffers中單個(gè)buffer之和,也就是單個(gè)內(nèi)存頁的2倍。

代理緩沖配置樣例

# 開啟proxy_buffering
    proxy_buffering                 on;
    proxy_buffer_size               4k;
    proxy_buffers                   4       4k;
    proxy_busy_buffers_size         8k;
    proxy_max_temp_file_size        0;

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Nginx?生產(chǎn)環(huán)境安全配置加固的實(shí)現(xiàn)

    Nginx?生產(chǎn)環(huán)境安全配置加固的實(shí)現(xiàn)

    本文主要介紹了Nginx?生產(chǎn)環(huán)境安全配置加固的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • zabbix自定義監(jiān)控nginx狀態(tài)實(shí)現(xiàn)過程

    zabbix自定義監(jiān)控nginx狀態(tài)實(shí)現(xiàn)過程

    這篇文章主要為大家介紹了zabbix如何自定義監(jiān)控nginx狀態(tài)的實(shí)現(xiàn)過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-10-10
  • nginx 常用指令 try_files allow root alias的使用

    nginx 常用指令 try_files allow root ali

    本文主要介紹了nginx 常用指令 try_files allow root alias的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • 寶塔nginx部署前端頁面刷新報(bào)404錯誤解決辦法

    寶塔nginx部署前端頁面刷新報(bào)404錯誤解決辦法

    使用nginx部署前端項(xiàng)目是一篇非常詳細(xì)的教程,旨在幫助初學(xué)者使用Nginx來部署前端項(xiàng)目,這篇文章主要給大家介紹了關(guān)于寶塔nginx部署前端頁面刷新報(bào)404錯誤的解決辦法,需要的朋友可以參考下
    2024-03-03
  • Nginx 日志輪轉(zhuǎn)的實(shí)現(xiàn)示例

    Nginx 日志輪轉(zhuǎn)的實(shí)現(xiàn)示例

    Nginx日志輪轉(zhuǎn)是監(jiān)控和調(diào)試Web服務(wù)器的重要工具,通過定期歸檔、壓縮和清理日志文件,可以節(jié)省磁盤空間、提高性能并方便故障排查,下面就來介紹一下
    2024-12-12
  • 一次nginx崩潰事件的實(shí)戰(zhàn)記錄

    一次nginx崩潰事件的實(shí)戰(zhàn)記錄

    nginx是一個(gè)被廣泛使用的集群架構(gòu)組件,我們有必要對它有足夠的了解,下面這篇文章主要給大家介紹了一次nginx崩潰事件的相關(guān)資料,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • 詳解Nginx服務(wù)器中配置超時(shí)時(shí)間的方法

    詳解Nginx服務(wù)器中配置超時(shí)時(shí)間的方法

    這篇文章主要介紹了Nginx服務(wù)器中配置超時(shí)時(shí)間的方法,同時(shí)也對Nginx中的時(shí)間管理機(jī)制作了詳細(xì)的介紹,需要的朋友可以參考下
    2015-12-12
  • 詳解NGINX如何統(tǒng)計(jì)網(wǎng)站的PV、UV、獨(dú)立IP

    詳解NGINX如何統(tǒng)計(jì)網(wǎng)站的PV、UV、獨(dú)立IP

    做網(wǎng)站的都知道,平常經(jīng)常要查詢下網(wǎng)站PV、UV等網(wǎng)站的訪問數(shù)據(jù),這篇文章主要介紹了詳解NGINX如何統(tǒng)計(jì)網(wǎng)站的PV、UV、獨(dú)立IP ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • 解讀nginx反向代理location和proxy_pass的映射關(guān)系

    解讀nginx反向代理location和proxy_pass的映射關(guān)系

    這篇文章主要介紹了解讀nginx反向代理location和proxy_pass的映射關(guān)系,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Nginx實(shí)現(xiàn)404頁面的幾種方法(三種)

    Nginx實(shí)現(xiàn)404頁面的幾種方法(三種)

    一個(gè)網(wǎng)站項(xiàng)目,肯定是避免不了404頁面的,通常使用Nginx作為Web服務(wù)器時(shí),有些相關(guān)配置方法,下面小編給大家?guī)砹薔ginx實(shí)現(xiàn)404頁面的幾種方法,感興趣的朋友一起看看吧
    2018-08-08

最新評論