nginx limit_req制限速度設定

2723 ワード

WIKI:
http://wiki.nginx.org/HttpLimitReqModule
リーキーバケツ原理(leaky bucket):
http://en.wikipedia.org/wiki/Leaky_bucket
例:01# IP , , 1-3req/sec, 1m,1M 16000 (IP) 02limit_req_zone  $binary_remote_addr  zone=qps1:1m   rate=1r/s;03limit_req_zone  $binary_remote_addr  zone=qps2:1m   rate=2r/s;04limit_req_zone  $binary_remote_addr  zone=qps3:1m   rate=3r/s;05  06server {07  08# qps=1, burst=5, 09# qps=1 10# burst=5 , , 11# 50312# [burst] , limit_req_error_log13# 1: =6, 1 , 1 , 4 :14#time    request    refuse    sucess    delay15#00:01        6        1        1            416#00:02        0        0        1            317#00:03        0        0        1            218#00:04        0        0        1            119#00:05        0        0        1            020location /delay {21     limit_req   zone=qps1  burst=5;22}23  24# qps=1, burst=5, 25# nodelay , qps = , qps > qps26# qps=(brust+qps-1)=527# delay, , 50328# qps , limit_req_error_log29# 2: 5 , qps=1 :30#time    request     refuse    sucess31#00:01         5         0          532#00:05         5         0          533#00:10         5         0          534# 3: =5, qps>>1, :35#time    request     refuse     sucess36#00:01         5         0           537#00:02         5         4           138#00:03         5         4           139  40location /nodelay {41     limit_req   zone=qps1  burst=5 nodelay;42}43  44}