nginx并发数限制 limit_conn

当服务器面临高并发访问时,若连接数没有得到恰当的控制,则服务器的性能将受到影响,甚至可能导致崩溃。Nginx 的 limit_conn 指令是一个非常重要的服务器安全设置,可用于限制和控制并发连接数量。

基本语法

limit_conn 指令的基本语法为:

limit_conn connlimit;

其中,connlimit 为最大并发连接数。一旦某时刻,连接数超过该值,Nginx 将返回 503 错误页面并关闭新连接的接入。使用 error_page 指令可对此页面进行自定义配置。

除了主要指令之外,limit_conn 可用的其他一些参数包括:

  • limit_conn_zone:将连接数限制在完整区域范围内,而不是在整个 Nginx 实例中限制连接数。
  • limit_conn_log_level:日志等级,用于记录请求详细信息。
  • limit_conn_status:在错误页面中返回状态码。

实验

下面是一个实例:

http {
    limit_conn_zone $binary_remote_addr zone=connzone:10m;
    server {
        location / {
        	limit_rate 20;
            limit_conn connzone 1;
            index index.html;
        }
    }
}

在该示例中,limit_conn_zone 为 IP 地址创建一个限制连接数的区(或组)。所创建的区名为 connzone,大小为 10MB,表示在该区中针对单个 IP 地址进行最大连接数限制为 1,limit_rate表示对用户访问限速为20字节。达到最大连接数限制时,Nginx 将自动拒绝新的请求并返回 503 错误页面。

nginx配置

在这里插入图片描述

使用jmeter测试

安装Jmeter

参考官网:https://jmeter.apache.org/download_jmeter.cgi

新建 Thread Group

在这里插入图片描述
如下图设置并发量为10,循环次数为4
在这里插入图片描述

新建 HTTP Request

在这里插入图片描述
这里填写你的nginx的ip和端口
在这里插入图片描述

添加 View Results in Table在这里插入图片描述

执行并发请求

如下图,可以看到有4次成功,并且都是在线程组的第一个成功,说明限制并发数1生效
在这里插入图片描述

总结

通过使用 limit_conn 指令,您可以控制并发连接的数量,大大提高服务器的安全性和稳定性。在处理高并发请求时,限制连接数是保证服务器正常运行的关键设置之一。

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值