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

Nginx之帶寬限制的實(shí)現(xiàn)示例

 更新時(shí)間:2023年09月26日 14:54:43   作者:一個(gè)風(fēng)輕云淡  
本文主要介紹了Nginx之帶寬限制的實(shí)現(xiàn)示例,一般使用limit_rate指令來(lái)限制響應(yīng)傳輸?shù)娇蛻舳说乃俾?具有一定的參考價(jià)值,感興趣的可以了解一下

基本介紹

在高負(fù)載的網(wǎng)絡(luò)環(huán)境下,為了保持服務(wù)的穩(wěn)定性,限速 (download rate) 是一種必要的操控拜訪量的手法。Nginx 是一款高性能的 Web 服務(wù)器和反向代理服務(wù)器,可以運(yùn)用 limit_rate_after 和 limit_rate 兩個(gè)首要指令來(lái)完結(jié)流量操控和限速。

作為NGINX流量管理的三大功能之一,帶寬控制的實(shí)現(xiàn)相對(duì)簡(jiǎn)單。它也只是實(shí)現(xiàn)了單個(gè)連接上的帶寬控制,經(jīng)常要和速率控制、并發(fā)控制一起使用來(lái)實(shí)現(xiàn)客戶端的流量管理。 

從NGINX架構(gòu)上來(lái)看,單個(gè)的連接整個(gè)生命周期的處理是在某一個(gè)單獨(dú)的worker進(jìn)程中進(jìn)行的。所以,帶寬控制不需要在各個(gè)worker進(jìn)程之間共享和同步數(shù)據(jù)。從而不需要像速率控制、并發(fā)控制那樣定義一個(gè)共享內(nèi)存的zone來(lái)共享和同步的數(shù)據(jù)?;诖?,帶寬控制的指令就沒(méi)有了速率控制和并發(fā)控制所需要定義共享內(nèi)存區(qū)域的指令。 

指令配置

limit_rate

limit_rate 指令是用來(lái)操控發(fā)送至客戶端的數(shù)據(jù)傳輸速度的,它可以約束整個(gè)銜接的流量,也可以約束單個(gè)客戶端拜訪速度。

Syntax:limit_rate rate;
Default:limit_rate 0;
Context:http, server, location, if in location

限制發(fā)向客戶端響應(yīng)的數(shù)據(jù)的速率。單位是BYTES每秒。默認(rèn)值0表示不進(jìn)行速率限制。此限制是針對(duì)每一個(gè)連接請(qǐng)求而言的,所以,如果客戶端同時(shí)有并行的n個(gè)連接,那么這個(gè)客戶端的整體速率就是n倍的limit_rate。

limit_rate 1k;

limit_rate_after

在傳輸完一定數(shù)量的BYTES之后設(shè)開始實(shí)施帶寬控制。與指令limit_rate一樣,后面的參數(shù)數(shù)值可以通過(guò)變量來(lái)設(shè)置。

Syntax:limit_rate_after size;
Default:limit_rate_after 0;
Context:http, server, location, if in location

指令limit_rate_after只有在配置了limit_rate的前提下才能生效。如果只配置limit_rate_after則不會(huì)有帶寬控制的效果。 

location /test/ {
limit_rate_after 500k;
limit_rate 50k;
}

 如果同時(shí)配置了sendfile_max_chunk 指令,按照兩者較小的數(shù)值進(jìn)行帶寬控制。

實(shí)戰(zhàn)測(cè)試

location / {
	limit_rate 1k;
	root html;
}

 在瀏覽器輸入 http://xxxx/portal.tar 下載 portal.tar 文件 可以看到下載速度在 1k 以內(nèi)

location / {
	limit_rate_after 50m;
	limit_rate 1k;
	root html;
}

  在瀏覽器輸入 http://xxxx/portal.tar 下載 portal.tar 文件

在下載50m后,速度約束在1k以內(nèi)

原理: 令牌桶算法

NGINX采用了令牌桶算法進(jìn)行帶寬控制。使用一張經(jīng)典的圖偏來(lái)描述令牌桶算法:

具體流程是:

  • 系統(tǒng)以固定速率產(chǎn)生令牌,并且緩存到令牌桶里。
  • 當(dāng)令牌桶滿時(shí),再來(lái)的令牌會(huì)被丟棄。
  • 傳輸報(bào)文時(shí),根據(jù)報(bào)文的大小消費(fèi)對(duì)應(yīng)數(shù)量的令牌。
  • 當(dāng)令牌不足時(shí),不能夠傳輸報(bào)文。

令牌桶算法用一只“桶”用來(lái)存儲(chǔ)令牌,還用一個(gè)隊(duì)列存儲(chǔ)請(qǐng)求。從作用上來(lái)說(shuō),漏桶和令牌桶算法最明顯的區(qū)別就是是否允許突發(fā)流量(burst)的處理,漏桶算法能夠強(qiáng)行限制數(shù)據(jù)的實(shí)時(shí)傳輸(處理)速率,對(duì)突發(fā)流量不做額外處理,它對(duì)流量進(jìn)行的是管制(policy);而令牌桶算法能夠在限制數(shù)據(jù)的平均傳輸速率的同時(shí)允許某種程度的突發(fā)傳輸,它對(duì)流量進(jìn)行的是整形(shapping)。

到此這篇關(guān)于Nginx之帶寬限制的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Nginx 帶寬限制內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nginx服務(wù)快速入門教程

    Nginx服務(wù)快速入門教程

    這篇文章主要介紹了Nginx服務(wù)快速入門教程的的相關(guān)資料,幫助大家更好的理解和使用nginx,感興趣的朋友可以了解下
    2021-02-02
  • Nginx代理axios請(qǐng)求以及注意事項(xiàng)詳解

    Nginx代理axios請(qǐng)求以及注意事項(xiàng)詳解

    這篇文章主要給大家介紹了關(guān)于Nginx代理axios請(qǐng)求以及注意事項(xiàng)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • LNMPA遇到504 Gateway time-out錯(cuò)誤的解決方法

    LNMPA遇到504 Gateway time-out錯(cuò)誤的解決方法

    這篇文章主要介紹了LNMPA遇到504 Gateway time-out錯(cuò)誤的解決方法,需要的朋友可以參考下
    2017-07-07
  • Nginx做NodeJS應(yīng)用負(fù)載均衡配置實(shí)例

    Nginx做NodeJS應(yīng)用負(fù)載均衡配置實(shí)例

    這篇文章主要介紹了Nginx做NodeJS應(yīng)用負(fù)載均衡配置實(shí)例,本文直接給出配置實(shí)例,需要的朋友可以參考下
    2015-01-01
  • nginx的安裝以及簡(jiǎn)單配置教程

    nginx的安裝以及簡(jiǎn)單配置教程

    這篇文章主要給大家介紹了關(guān)于nginx的安裝以及簡(jiǎn)單配置的相關(guān)資料,以下是nginx在各種環(huán)境條件下的安裝與配置過(guò)程,其中還分析了中間遇到的坑以及處理方式,需要的朋友可以參考下
    2023-08-08
  • Nginx反向代理出現(xiàn)502?Bad?Gateway問(wèn)題解決

    Nginx反向代理出現(xiàn)502?Bad?Gateway問(wèn)題解決

    在配置Nginx反向代理時(shí)遇到502 Bad Gateway錯(cuò)誤,經(jīng)過(guò)排查發(fā)現(xiàn)是SSL握手問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10
  • 關(guān)閉nginx空主機(jī)頭 防止nginx空主機(jī)頭及惡意域名指向

    關(guān)閉nginx空主機(jī)頭 防止nginx空主機(jī)頭及惡意域名指向

    nginx的默認(rèn)配置中的虛擬主機(jī)允許用戶通過(guò)IP訪問(wèn),或者通過(guò)未設(shè)置的域名訪問(wèn),比如有人惡意把他自己的域名指向了你的ip,需要的朋友可以參考下
    2016-09-09
  • centos8中使用yum安裝nginx的詳細(xì)過(guò)程

    centos8中使用yum安裝nginx的詳細(xì)過(guò)程

    這篇文章主要介紹了centos8中怎樣使用yum安裝?nginx,centos8和centos7安裝nginx有點(diǎn)點(diǎn)不一樣,centos8?自帶了nginx?1.14.1?,我們先升級(jí)到新穩(wěn)定版1.20.1,具體安裝方法跟隨小編一起學(xué)習(xí)下吧
    2023-03-03
  • nginx設(shè)置超時(shí)時(shí)間的問(wèn)題及解決方案

    nginx設(shè)置超時(shí)時(shí)間的問(wèn)題及解決方案

    程序在處理大量數(shù)據(jù),接口超過(guò)1分鐘(默認(rèn)的)未返回?cái)?shù)據(jù),導(dǎo)致等待超時(shí),出現(xiàn)這種情況,我們可以先優(yōu)化程序,縮短執(zhí)行時(shí)間,可以調(diào)大nginx超時(shí)限制的參數(shù),使程序可以正常執(zhí)行,本文介紹nginx設(shè)置超時(shí)時(shí)間及504 Gateway Time-out的問(wèn)題解決方案,一起看看吧
    2024-02-02
  • 解讀nginx負(fù)載均衡的5種策略

    解讀nginx負(fù)載均衡的5種策略

    這篇文章主要介紹了解讀nginx負(fù)載均衡的5種策略,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評(píng)論