Nginx 限制ip并发数及请求速度
发布网友
发布时间:2022-12-22 19:54
我来回答
共1个回答
热心网友
时间:2024-11-15 05:55
nginx中ngx_http_limit_conn_mole模块用于*连接数量,特别是来自单个IP地址的连接数量。并非所有的连接都被计数。只有当服务器处理了请求并且已经读取了整个请求头时,连接才被计数。
$binary_remote_addr对于IPv4地址,变量的大小始终为4个字节,对于IPv6地址则为16个字节。存储状态在32位平台上始终占用32或64个字节,在64位平台上占用64个字节。一个兆字节的区域可以保持大约32000个32字节的状态或大约16000个64字节的状态。如果区域存储耗尽,服务器会将错误返回 给所有其他请求。10M可存储160000个状态
nginx中ngx_http_limit_req_mole模块用于*每一个请求的处理速率,特别是从一个单一的IP地址的请求的处理速率。
我们可以用ab工具测试一下。
并发数50,总共执行次数100
可以看出100个请求在3.3秒完成符合30r/s
参考文章
http://nginx.org/en/docs/http/ngx_http_limit_conn_mole.html
http://nginx.org/en/docs/http/ngx_http_limit_req_mole.html