Nginx 的 limit_req 两种写法有什么不同了?

limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s;
limit_req zone=mylimit burst=20 nodelay;

limit_req_zone $binary_remote_addr zone=mylimit:10m rate=30r/s;
limit_req zone=mylimit;

对于同一 IP, 实际上, nginx 接收请求和发送给后台的服务器的请求的限速都是 每分钟 30 条吧, 这两者有什么区别了? 各位大佬帮忙看看

阅读 1.3k
1 个回答

这两个的对比,请求速率上:第一种配置基本请求速率(10r/s)更低,但可以短时间突发到20个额外的请求,而第二种配置基本请求速率(30r/s)更高,但请求不可以超过这个速率。请求拒绝和延迟上:第一种配置用burst和nodelay参数可以有一定突发流量,而第二种配置就更严,一旦达到30r/s的限制,就会立马拒绝超过这个速率的请求。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏