NGINX httplimitreq 限速設定

來源:互聯網
上載者:User

標籤:nginx   限速   

WIKI:

http://wiki.nginx.org/HttpLimitReqModule


漏桶原理(leaky bucket):

http://en.wikipedia.org/wiki/Leaky_bucket


#以使用者二進位IP地址,定義三個漏桶,滴落速率1-3req/sec,桶空間1m,1M能保持大約16000個(IP)狀態

 limit_req_zone  $binary_remote_addr  zone=qps1:1m   rate=1r/s;

 limit_req_zone  $binary_remote_addr  zone=qps2:1m   rate=2r/s;

 limit_req_zone  $binary_remote_addr  zone=qps3:1m   rate=3r/s;

server {

#速率qps=1,峰值burst=5,延遲請求

 #嚴格按照漏桶速率qps=1處理每秒請求

 #在峰值burst=5以內的並發請求,會被掛起,延遲處理

 #超出請求數限制則直接返回503

 #用戶端只要控制並發在峰值[burst]內,就不會觸發limit_req_error_log

 # 例1:發起一個並發請求=6,拒絕1個,處理1個,進入延遲隊列4個:

 #time    request    refuse    sucess    delay

 #00:01        6        1        1            4

 #00:02        0        0        1            3

 #00:03        0        0        1            2

 #00:04        0        0        1            1

 #00:05        0        0        1            0

 location /delay {

 limit_req zone=qps1 burst=5;

 }

#速率qps=1,峰值burst=5,不延遲請求

 #加了nodelay之後,漏桶控制一段時間長度內的平均qps = 漏桶速率,允許瞬時的峰值qps > 漏桶qps

 #所以峰值時的最高qps=(brust+qps-1)=5

 #請求不會被delay,要麼處理,要麼直接返回503

 #用戶端需要控制qps每秒請求數,才不會觸發limit_req_error_log

 # 例2:每隔5秒發起一次達到峰值的並發請求,由於時間段內平均qps=1 所以仍然符合漏桶速率:

 #time    request refuse    sucess

 #00:01         5         0          5

 #00:05         5         0          5

 #00:10         5         0          5

 # 例3:連續每秒發起並發請求=5,由於時間段內平均qps>>1,超出的請求被拒絕:

 #time    request refuse     sucess

 #00:01         5         0           5

 #00:02         5         4           1

 #00:03         5         4           1

location /nodelay {

 limit_req zone=qps1 burst=5 nodelay;

 }

}

from:http://www.hemono.com/?p=673


本文出自 “亮公子” 部落格,請務必保留此出處http://iyull.blog.51cto.com/4664834/1864370

NGINX httplimitreq 限速設定

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.