亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

nginx使用內(nèi)置模塊配置限速限流的方法實(shí)例

 更新時(shí)間:2022年05月01日 10:12:57   作者:RichMighty  
Nginx現(xiàn)在已經(jīng)是最火的負(fù)載均衡之一,在流量陡增的互聯(lián)網(wǎng)面前,接口限流也是很有必要的,尤其是針對(duì)高并發(fā)的場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于nginx使用內(nèi)置模塊配置限速限流的相關(guān)資料,需要的朋友可以參考下

有時(shí)候 NGINX 面對(duì)一些特殊的場(chǎng)景時(shí),需要進(jìn)行一定的限速限流的配置,比如一個(gè)官網(wǎng),可能前端靜態(tài)文件是非常小的,但是同時(shí)配置的還有一些 apk 包,這些包如果不做任何限制,可能會(huì)形成比較大的負(fù)載或者帶寬的壓力,我這邊碰到了,今天就來針對(duì)這個(gè)問題處理一下。

沒有限制之前,對(duì)應(yīng)的包下載速度如下:

添加如下配置,進(jìn)行一定的限制:

http {
    ...#省略
    limit_conn_zone $binary_remote_addr zone=addr:10m;
    ...#省略
}
server {
    listen 80 default;
    server_name localhost;
    location ~ "^/test/app/" {
         limit_conn addr 6;
        limit_rate_after 10m;
        limit_rate 1200k;
        limit_conn_status 499;
        limit_conn_log_level warn;
        root  /app;
    }
}

說明:

http 區(qū)域,我這里使用的是 1.15 版本的,默認(rèn)已經(jīng)安裝了對(duì)應(yīng)的模塊ngx_http_limit_conn_module。

limit_conn_zone:是一個(gè)固定的名稱,下邊調(diào)用的時(shí)候與之對(duì)應(yīng)。 $binary_remote_addr:表示通過

remote_addr 這個(gè)標(biāo)識(shí)來做限制,“binary_” 的目的是縮寫內(nèi)存占用量,是限制同一客戶端 ip 地址。

zone=addr:10m:示生成一個(gè)大小為 10M,名字為 addr 的內(nèi)存區(qū)域,用來存儲(chǔ)訪問的頻次信息。

server 區(qū)域,可以直接寫在 server 區(qū)域內(nèi),表示限制所有,也可以寫到對(duì)應(yīng)的 location 當(dāng)中,以表示單獨(dú)區(qū)域限制。

limit_conn:表示單個(gè) IP 限制最大連接數(shù)為 6。 limit_rate_after:表示請(qǐng)求前 10m 大小時(shí)不限速。

limit_rate:表示單個(gè)連接最大連接帶寬限制為 1200k。 limit_conn_status:設(shè)置拒絕請(qǐng)求的返回值。值只能設(shè)置400 到 599 之間(默認(rèn)是 503)。 limit_conn_log_level:定義日志級(jí)別,默認(rèn) error。

現(xiàn)在簡(jiǎn)單的做一下測(cè)試看看下載速度:

可以看到對(duì)應(yīng)的速度已經(jīng)收到限制,而且是在 10M 之后速度開始慢慢下降,直至達(dá)到限制的位置?,F(xiàn)在可以簡(jiǎn)單壓測(cè)看下情況:

$ ab -n 10 -c 10 http://www.test.com/res/app/app-xiaomi-release.apk

這條命令表示請(qǐng)求 10 次對(duì)應(yīng)資源,并發(fā)為 10。監(jiān)控對(duì)應(yīng)日志,看到如下結(jié)果,因?yàn)槲覀兌x的最大并發(fā)是 6,所以將會(huì)有 4 個(gè)失敗,并返回 499 狀態(tài)碼,然后有 6 個(gè)成功。

$tailf -n 100 a |awk -F "," '{print  $6}'
"response": "499"
"response": "499"
"response": "499"
"response": "499"
"response": "200"
"response": "200"
"response": "200"
"response": "200"
"response": "200"
"response": "200"

另外在壓測(cè)命令之后,還有一些輸出可以參考:

Total transferred:      403483116 bytes
HTML transferred:       403481400 bytes
Requests per second:    0.18 [#/sec] (mean)
Time per request:       56865.501 [ms] (mean)
Time per request:       5686.550 [ms] (mean, across all concurrent requests)
Transfer rate:          6929.10 [Kbytes/sec] received

其他的不說了,只看最后一條,可以看到總的對(duì)外輸出是大約7M/s,正好符合單條限制 1.2M/s 乘以 6 的數(shù)值。

總結(jié)

到此這篇關(guān)于nginx使用內(nèi)置模塊配置限速限流的文章就介紹到這了,更多相關(guān)nginx內(nèi)置模塊配置限速限流內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nginx啟動(dòng)、重啟失敗的一般解決方法和步驟

    Nginx啟動(dòng)、重啟失敗的一般解決方法和步驟

    這篇文章主要介紹了Nginx啟動(dòng)、重啟失敗的一般解決方法和步驟,本文沒啥技術(shù)含量,只是一個(gè)慣用手法的總結(jié),需要的朋友可以參考下
    2015-07-07
  • Nginx域名轉(zhuǎn)發(fā)使用場(chǎng)景代碼實(shí)例

    Nginx域名轉(zhuǎn)發(fā)使用場(chǎng)景代碼實(shí)例

    這篇文章主要介紹了Nginx域名轉(zhuǎn)發(fā)使用場(chǎng)景代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Nginx四層負(fù)載均衡的實(shí)現(xiàn)示例

    Nginx四層負(fù)載均衡的實(shí)現(xiàn)示例

    Nginx?不支持傳統(tǒng)的四層負(fù)載均衡,但可以通過stream模塊配合TCP實(shí)現(xiàn)類似的功能,本文主要介紹了Nginx四層負(fù)載均衡的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04
  • 詳解nginx中l(wèi)ocation、rewrite用法總結(jié)

    詳解nginx中l(wèi)ocation、rewrite用法總結(jié)

    這篇文章主要介紹了詳解nginx中l(wèi)ocation、rewrite用法總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 使用Nginx部署Vue項(xiàng)目全過程及踩坑記錄

    使用Nginx部署Vue項(xiàng)目全過程及踩坑記錄

    這篇文章主要介紹了使用Nginx部署Vue項(xiàng)目全過程及踩坑記錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Nginx支持websocket的配置詳解

    Nginx支持websocket的配置詳解

    本文主要介紹了Nginx支持websocket的配置,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 詳解Nginx http資源請(qǐng)求限制(三種方法)

    詳解Nginx http資源請(qǐng)求限制(三種方法)

    這篇文章主要介紹了Nginx http資源請(qǐng)求限制,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • Nginx配置中指令root和alias的區(qū)別淺析

    Nginx配置中指令root和alias的區(qū)別淺析

    這篇文章給大家主要介紹了Nginx配置中指令root與alias的區(qū)別,文章介紹的很詳細(xì),詳細(xì)對(duì)大家理解root與alias很有幫助,有需要的朋友們下面來一起看看吧。
    2016-10-10
  • nginx代理多次302的解決方法(nginx Follow 302)

    nginx代理多次302的解決方法(nginx Follow 302)

    這篇文章主要介紹了nginx代理多次302的解決方法(nginx Follow 302),詳細(xì)的介紹了解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-12-12
  • 使用Nginx+Tomcat實(shí)現(xiàn)負(fù)載均衡的全過程

    使用Nginx+Tomcat實(shí)現(xiàn)負(fù)載均衡的全過程

    很多用到nginx的地方都是作為靜態(tài)伺服器,這樣可以方便緩存那些靜態(tài)文件,比如CSS,JS,html,htm等文件,下面這篇文章主要給大家介紹了關(guān)于使用Nginx+Tomcat實(shí)現(xiàn)負(fù)載均衡的相關(guān)資料,需要的朋友可以參考下
    2022-05-05

最新評(píng)論