Nginx限流-并发量限流配置
控制并发量(连接数)
ngx_http_limit_conn_module 提供了限制连接数的能力。主要是利用limit_conn_zone和limit_conn两个指令。
利用连接数限制 某一个用户的ip连接的数量来控制流量。
注意:并非所有连接都被计算在内 只有当服务器正在处理请求并且已经读取了整个请求头时,才会计算有效连接。此处忽略测试。
配置语法:
Syntax: limit_conn zone number;
Default: —;
Context: http, server, location;
(1)配置限制固定连接数
如下,配置如下:
上图配置如下:
http {include mime.types;default_type application/octet-stream;#cachelua_shared_dict dis_cache 128m;#限流设置limit_req_zone $binary_remote_addr zone=contentRateLimit:10m rate=2r/s;#根据IP地址来限制,存储内存大小10Mlimit_conn_zone $binary_remote_addr zone=addr:1m;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;#gzip on;server {listen 80;server_name localhost;#所有以brand开始的请求,访问本地changgou-service-goods微服务location /brand {limit_conn addr 2;proxy_pass http://192.168.211.1:18081;}location /update_content {content_by_lua_file /root/lua/update_content.lua;}location /read_content {limit_req zone=contentRateLimit burst=4 nodelay;content_by_lua_file /root/lua/read_content.lua;}}
}
表示:
limit_conn_zone $binary_remote_addr zone=addr:10m; 表示限制根据用户的IP地址来显示,设置存储地址为的内存大小10Mlimit_conn addr 2; 表示 同一个地址只允许连接2次。
测试:
此时开3个线程,测试的时候会发生异常,开2个就不会有异常
(2)限制每个客户端IP与服务器的连接数,同时限制与虚拟服务器的连接总数。(了解)
如下配置:
limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn_zone $server_name zone=perserver:10m;
server { listen 80;server_name localhost;charset utf-8;location / {limit_conn perip 10;#单个客户端ip与服务器的连接数.limit_conn perserver 100; #限制与服务器的总连接数root html;index index.html index.htm;}
}
Nginx限流-并发量限流配置相关推荐
- 大促在即,拥有亿级流量的电商平台开发了一个订单系统,我们应该如何来预估其并发量?如何根据并发量来合理配置JVM参数呢?
1. 需求分析 大促在即,拥有亿级流量的电商平台开发了一个订单系统,我们应该如何来预估其并发量?如何根据并发量来合理配置JVM参数呢? 假设,现在有一个场景,一个电商平台,比如京东,需要承担每天上亿的 ...
- nginx看最大并发量_Nginx高并发配置思路(轻松应对1万并发量)
测试机器为腾讯云服务器1核1G内存,swap分区2G,停用除SSH外的所有服务,仅保留nginx,优化思路主要包括两个层面:系统层面+nginx层面. 一.系统层面 1.调整同时打开文件数量 ulim ...
- 关于nginx上的limit_req_zone模块限流使用与geo与map的白名单配置
今天正好是五一假期 记录一下前几天关于开发中遇到的nginx上的问题 之前接口被人扒了 访问量激增 之前的同事配置了一个nginx上的配置来解决 如下 1.在nginx的http模块下面加上下面的语句 ...
- 互联网高并发解决方案(2)--高并发服务限流特技
RPC和本地JAVA调用的区别 RPC远程调用:一般是可以跨平台使用的,采用Socket技术,只要语言支持socket技术就可以进行互相通信.其实就是socket+反射实现的. 本地调用:只能支持Ja ...
- 高并发解决方案(缓存、降级、限流)之限流笔记
转载自:jinnianshilongnian 高并发系统时有三把利器用来保护系统:缓存.降级和限流.缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹:而降级是当服务出问题或 ...
- 高并发系统限流-漏桶算法和令牌桶算法
参考: https://www.cnblogs.com/xuwc/p/9123078.html http://www.cnblogs.com/LBSer/p/4083131.html https:// ...
- 高并发系统--限流算法
在开发高并发系统时,有三把利器用来保护系统:缓存.降级和限流.通过限流,我们可以很好地控制系统的qps,从而达到保护系统的目的.主要算法有:计数器算法,滑动窗口算法,漏桶算法,令牌桶算法 1.计数器算 ...
- 2.Nginx实现负载均衡、限流、缓存、黑白名单和灰度发布
Author:Young Date:2020-07-22 参考链接: https://maimai.cn/article/detail?fid=1499586218&efid=7sV_7ICG ...
- 分布式系统并发请求限流平台Sentinel功能特性调研-集成测试(中篇)
摘 要 随着近些年系统稳定性要求越来越高,而系统限流则是其中提高系统稳定性的手段之一,而在众多限流平台中Sentinel凭着丰富功能特性和多次阿里双十一的线上实践,成为最热门限流平台之一,本文就Sen ...
最新文章
- Openresty最佳案例 | 第3篇:Openresty的安装
- 【tf.keras】TensorFlow 1.x 到 2.0 的 API 变化
- KickStart 无人值守安装系统
- MySQL修改数据库:ALTER DATABASE用法简介
- visual stadio 添加 Extjs 智能提示!
- C++ OJ在线编程常见输入输出技巧与示例
- Linux通过第三方应用提权实战总结
- ORA-23616:执行块5失败
- 清华大学开始招收高二学生,数学天赋是最重要的入围条件
- 【差分隐私的指数机制该怎么理解?】差分隐私系统学习记录(三)
- 利用迅捷PDF分割器实现PDF文档的批量拆分
- postgresql用户和角色
- [文摘20070308]中国历史朝代歌
- 生成的exe程序默认以管理员权限启动
- ROS机器人021-机器人命令行发送cmd_vel话题及/cmd_vel geometry_msgs/Twist示例
- POC原型开发:巡店 一期结果
- 小狗AI自动建站V7 sitemap(网站地图)使用说明
- 【软考 系统架构设计师 简明教程】简介与目录
- 稳压二极管与TVS二极管的区别
- 三年级计算机帮助我们学本领,三年级学本领100字作文