nginx 限制单个 ip 请求次数是根据什么设置的?

2022-03-02 15:12:51 +08:00
 justrand
limit_req_zone $binary_remote_addr zone=xxx:10m rate=5r/s;

1.这里面的 rate=5r/s ,这个设置根据什么指标或者该设置多少合适呢?
2.另外一个疑问如果一个 web 页面算上一些图片,css ,js 共 10 个请求资源,是不是起码设置 10r/s ?

1870 次点击
所在节点    NGINX
2 条回复
eason1874
2022-03-02 15:40:13 +08:00
1 、并发多少合适,看后端能力和带宽。我带宽小,我按分配带宽除以 5kb ,每 1Mbps 就是 25
2 、并发数不一定要满足页面总请求数,并发数只是代表服务器同一时间只处理这么多,你也可以接受请求,排队处理,配套的 limit_req 的 burst 参数就是允许排队的请求数量

比如你配置 rate=5r/s 和 burst=10 ,你同时发 10 个请求过来,服务器也会正常响应给你,但会排队处理,一次处理 5 个。如果你同时发 18 个过来,有 5 个直接处理,剩下 10 个排队处理,超出的 3 个返回拒绝状态
justrand
2022-03-02 15:59:17 +08:00
@eason1874 感谢解惑!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/837446

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX