一、http协议的连接与请求

总结:

HTTP请求是建立在一次TCP连接的基础之上。

一次TCP请求至少产生一次HTTP请求。

二、连接限制

limit_conn_module

配置语法:

Syntax:    limit_conn_zone key zone=name:size;
Default: —
Context: http Syntax: limit_conn zone number;
Default: —
Context: http, server, location

示例:

limit_conn conn_zone 1 :同一时刻只允许一个ip的请求过来。

三、请求频率限制

limit_req_module

Syntax:    limit_req_zone key zone=name:size rate=rate [sync];
Default: —
Context: http yntax: limit_req zone=name [burst=number] [nodelay | delay=number];
Default: —
Context: http, server, location

示例:

说明:

$binary_remote_addr :客户端地址,不用$remote_addr,是因为 $binary_remote_addr更省空间。

zone=req_zone : 分配的存储空间名称。

reate=1r/s:对于同一个IP地址过来的所有的请求,限制为每秒只能发起1个请求。

配置limit_req_zone

用ab压力测试工具进行测试

//总共请求30次,并发为20
ab -n -c http://192.168.0.133/index.html

测试结果:

查看error.log,发现日志中有和多请求限制的错误。

第二种参数配置:

burst=3 表示客户的请求在超过指定的速率(本次配置为1r/s)后,遗留的3个请求释放到下一秒执行,会保证有3个请求在下一秒执行,起到一个访问限速的作用,即延迟响应。

nodelay 表示除了这3个请求外,其它的请求直接返回。

本文为袋鼠学习中的总结,如有转载请注明出处:https://www.cnblogs.com/chrdai/protected/p/11331504.html

最新文章

  1. 巧用margin/padding的百分比值实现高度自适应(多用于占位,避免闪烁)
  2. 踩的python列表及for循环一个坑儿
  3. OpenCV安装配置的简单记录
  4. 微信的 JSSDK
  5. JAVA中常用的二进制位操作
  6. Expression<Func<T, bool>>
  7. C# 构造函数中调用虚方法的问题
  8. extjs Cannot read property 'dom' of null
  9. java 函数形参传值和传引用的区别
  10. socket programming Max size of tcp/ip socket Buffer?
  11. Tomcat部署项目的几种常见方式
  12. panel控件 换行
  13. android使用篇(四) 注解依赖注入IOC实现绑定控件
  14. eclipse设置java虚拟机内存大小
  15. LeetCode --> 771. Jewels and Stones
  16. java集合框架整理
  17. 关于NB-IoT的十大问题和答案【转】
  18. dataTable使用方法
  19. Stacking Plates(存档待续.....(没有写思路和程序))
  20. hive 常见时间日期函数的使用

热门文章

  1. php三种排序算法
  2. RHEL7中配置本地YUM软件源
  3. Scal(三)——类与对象
  4. kotlin函数和函数式表达式
  5. mybatis总体分析
  6. 【转】关于 Ruby 解释器:一些你需要知道的
  7. iOS 获取手机型号(已更新至iPhone11)
  8. 去除IntelliJ IDEA中重复代码报灰黄色的下划波浪线
  9. 洛谷-P2292-L语言(字典树)
  10. springboot整合jetty(转)