在nginx主配置中加
http {
limit_req_zone $binary_remote_addr zone=nglimit:100m rate=200r/s;
}
100m
用于指定限流区域 nglimit
所占用的内存空间。这个值通常需要根据服务器的性能和预期的请求频率来合理设置。内存的分配越大,存储的状态信息越多,可以更准确地进行请求限流,但也会占用更多的服务器内存。
200r/s 每秒允许的请求频率
站点中修改
location / {
limit_req zone=nglimit burst=100 nodelay;
}
- burst=100 允许的突发请求数等。
以宝塔为例
NG
站点
burst
参数用于设置允许的突发请求数。这个参数指定了在限流策略生效时,允许在一次请求周期内突发处理的最大请求数量。当达到限流的请求频率时,如果有突发请求超过了指定的 burst
数量,Nginx 会暂时允许处理这些突发请求,而不会立即进行限流处理。
换句话说,burst
参数用于控制限流策略在短期内对突发请求的处理方式。例如,如果您设置了 rate=200r/s
(每秒允许请求频率为 200 次)和 burst=100
,那么在一秒钟内允许的请求数为 200 个,但如果有突发请求,最多可以允许处理 300 个请求,以平滑处理请求峰值。