nginx限流配置

http {

    limit_req_zone $binary_remote_addr zone=perip:30m rate=60r/s;

}

rate=60r/s

    表示处理请求的平均速度(每个请求之间至少要间隔(1000/60≈16.7ms,超出的请求将会进入令牌桶中,例如在10ms内发出5个请求则只有一个能得到处理,其余4个会进入令牌桶(令牌桶内的令牌可以满足这4个额外请求的时候,如果不满足将会返回503或者自定义的status))

server / location {   

    limit_req zone=perip burst=25 nodelay;
    limit_req_status 444;

}

burst=25

    表示令牌桶中有25个令牌,超出的请求就会进入到令牌桶

nodelay

    表示将令牌桶内的所有请求直接发出,然后每隔16.7ms恢复一个令牌

如果没有指定nodelay则会排队发出请求,即等够16.7ms发出一个请求同时恢复一个令牌

原文地址:https://www.cnblogs.com/xiayudashan/p/10180695.html