服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Nginx - nginx中的limit_req限速设置配置示例

nginx中的limit_req限速设置配置示例

2019-10-26 17:25nginx教程网 Nginx

这篇文章主要介绍了nginx中的limit_req限速设置配置示例,本文直接给出配置文件例子,其中包含大量中文注释,需要的朋友可以参考下

WIKI:

http://wiki.nginx.org/HttpLimitReqModule

漏桶原理(leaky bucket):

http://en.wikipedia.org/wiki/Leaky_bucket

实例:

  1. #以用户二进制IP地址,定义三个漏桶,滴落速率1-3req/sec,桶空间1m,1M能保持大约16000个(IP)状态 
  2. limit_req_zone $binary_remote_addr zone=qps1:1m  rate=1r/s; 
  3. limit_req_zone $binary_remote_addr zone=qps2:1m  rate=2r/s; 
  4. limit_req_zone $binary_remote_addr zone=qps3:1m  rate=3r/s; 
  5.   
  6. server { 
  7.   
  8. #速率qps=1,峰值burst=5,延迟请求 
  9. #严格按照漏桶速率qps=1处理每秒请求 
  10. #在峰值burst=5以内的并发请求,会被挂起,延迟处理 
  11. #超出请求数限制则直接返回503 
  12. #客户端只要控制并发在峰值[burst]内,就不会触发limit_req_error_log 
  13. # 例1:发起一个并发请求=6,拒绝1个,处理1个,进入延迟队列4个: 
  14. #time  request  refuse  sucess  delay 
  15. #00:01    6    1    1      4 
  16. #00:02    0    0    1      3 
  17. #00:03    0    0    1      2 
  18. #00:04    0    0    1      1 
  19. #00:05    0    0    1      0 
  20. location /delay { 
  21.   limit_req  zone=qps1 burst=5; 
  22.   
  23. #速率qps=1,峰值burst=5,不延迟请求 
  24. #加了nodelay之后,漏桶控制一段时长内的平均qps = 漏桶速率,允许瞬时的峰值qps > 漏桶qps 
  25. #所以峰值时的最高qps=(brust+qps-1)=5 
  26. #请求不会被delay,要么处理,要么直接返回503 
  27. #客户端需要控制qps每秒请求数,才不会触发limit_req_error_log 
  28. # 例2:每隔5秒发起一次达到峰值的并发请求,由于时间段内平均qps=1 所以仍然符合漏桶速率: 
  29. #time  request   refuse  sucess 
  30. #00:01     5     0     5 
  31. #00:05     5     0     5 
  32. #00:10     5     0     5 
  33. # 例3:连续每秒发起并发请求=5,由于时间段内平均qps>>1,超出的请求被拒绝: 
  34. #time  request   refuse   sucess 
  35. #00:01     5     0      5 
  36. #00:02     5     4      1 
  37. #00:03     5     4      1 
  38.   
  39. location /nodelay { 
  40.   limit_req  zone=qps1 burst=5 nodelay; 
  41.   

延伸 · 阅读

精彩推荐
  • Nginxnginx rewrite 伪静态配置参数和使用例子

    nginx rewrite 伪静态配置参数和使用例子

    nginx下伪静态配置参数详细说明,使用nginx的朋友,nginx rewrite 伪静态配置参数和使用例子 附正则使用说明 ...

    服务器之家3102019-10-08
  • Nginxnginx ssl免密码重启教程详解

    nginx ssl免密码重启教程详解

    这篇文章给大家介绍了nginx 如何启动以及nginx ssl 免密码重启 的方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧 ...

    mrr4272019-11-19
  • Nginx如何优化Nginx的处理性能

    如何优化Nginx的处理性能

    Nginx是一个很强大的高性能Web和反向代理服务,它具有很多非常优越的特性,在连接高并发的情况下,Nginx是Apache服务不错的替代品。其特点是占有内存少,...

    Dockone.io5142020-12-11
  • Nginx通过Nginx规则重写URL去掉index.php不显示index.php

    通过Nginx规则重写URL去掉index.php不显示index.php

    Nginx不仅占用内存少,并发能力强,而且拓展功能丰富,可以通过安装模板来强化功能,也能通过规则优化,优化服务器并发处理能力,是建站的不二之选...

    Genius日记5872020-10-16
  • NginxNginx Rewrite使用场景及代码案例详解

    Nginx Rewrite使用场景及代码案例详解

    这篇文章主要介绍了Nginx Rewrite使用场景及代码案例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可...

    盗哥泡茶去了11862020-09-27
  • Nginx利用nginx和腾讯云免费证书制作https的方法

    利用nginx和腾讯云免费证书制作https的方法

    这篇文章主要介绍了利用nginx和腾讯云免费证书制作https的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    dalaoyang5992019-12-30
  • NginxNginx location 和 proxy_pass路径配置问题小结

    Nginx location 和 proxy_pass路径配置问题小结

    本文是基于 location 的匹配末尾是否配置 / 和 proxy_pass 末尾是否配置 / ,进行测试,完全还原了整个测试过程,本文给大家介绍Nginx location 基本配置及相关配...

    自由早晚乱余生18742021-09-24
  • NginxNginx动静分离实现案例代码解析

    Nginx动静分离实现案例代码解析

    这篇文章主要介绍了Nginx动静分离实现案例代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参...

    盗哥泡茶去了3382020-09-27