V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
justrand
V2EX  ›  NGINX

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

  •  1
     
  •   justrand · 2022-03-02 15:12:51 +08:00 · 1857 次点击
    这是一个创建于 787 天前的主题,其中的信息可能已经有所发展或是发生改变。
    limit_req_zone $binary_remote_addr zone=xxx:10m rate=5r/s;
    

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

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

    比如你配置 rate=5r/s 和 burst=10 ,你同时发 10 个请求过来,服务器也会正常响应给你,但会排队处理,一次处理 5 个。如果你同时发 18 个过来,有 5 个直接处理,剩下 10 个排队处理,超出的 3 个返回拒绝状态
    justrand
        2
    justrand  
    OP
       2022-03-02 15:59:17 +08:00
    @eason1874 感谢解惑!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3178 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:11 · PVG 08:11 · LAX 17:11 · JFK 20:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.