首页 > 其他分享 >微服务-限制连接数之openresty limit_conn

微服务-限制连接数之openresty limit_conn

时间:2023-01-12 10:35:13浏览次数:36  
标签:10 ab http 请求 10.0 连接数 limit openresty

1.简介

  目的是:限制连接数核心目的是防止恶意请求脚本来刷服务器

  官方文档:http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html

 

2. 基于ip限制

2.1. 每个ip限制1个连接数

nginx配置:

ab测试:

  1个连接100次测试

  sudo ab -n 100 -c 1 -t 10  http://10.0.22.120:1180/limit

查看日志:

其他都是:

  2023/01/10 17:30:53 [error] 215#215: *29203 limiting connections by zone "perip_conn", client: 10.0.22.112, server: localhost, request: "GET /limit HTTP/1.0", host: "10.0.22.120:1180"

同一个连接1秒同时只能请求一次

2.2. 每个ip限制6个连接但是1个并发客户端(每个请求0.5s

nginx配置:

ab测试:

  1个连接1秒内发起10000次测试

  sudo ab -n 10000 -c 1 -t 10  http://10.0.22.120:1180/limit

查看日志:

可以发现每次请求间隔都是0.5秒,也就是同时只有一个客户端可以请求

2.3. 每个server限制6个连接10个并发客户端(每个请求1s)

nginx配置:

ab测试:

  10个连接10000次测试持续20秒

  sudo ab -n 10000 -c 10 -t 20  http://10.0.22.120:1180/limit

查看日志:

可以发现非常工整,一秒之内最多只能有6个同求同时存在,只有请求结束了才会开始新的请求。如果设置为一次请求0.5秒,那么1秒就会有达到12个左右,因为请求结束以后,其他的请求被允许的。

这是同时存在请求数的概念。

 

 

标签:10,ab,http,请求,10.0,连接数,limit,openresty
From: https://www.cnblogs.com/zhanchenjin/p/17045694.html

相关文章