查看: 69|回复: 0

[运维] nginx nginx_limit_speed_module限制总带宽

[复制链接]

3

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2008-8-10
发表于 2023-7-29 00:00:00 | 显示全部楼层 |阅读模式

在前面我们说到了《nginx限制连接数》和《nginx限制请求数》
这里介绍下nginx_limit_speed_module模块如何对location总带宽和每个IP速度的限制。
nginx_limit_speed_module项目地址:https://github.com/yaoweibin/nginx_limit_speed_module

1. 介绍
该模块能够限制从一个地址同时连接的总速度。

2. 指令介绍
limit_speed_zone
语法:limit_speed_zone zone_name $variable memory_max_size
默认值:no
配置段:http
定义会话状态存储空间。会话的数目由所分配的变量$variable决定,该值取决于memory_max_size值。

如:limit_speed_zone one $binary_remote_addr 10m;
客户端的地址被用作会话。注意:该变量$binary_remote_addr是用来代替$remote_addr。
$remote_addr变量值的长度是7到15个字节。因此状态大小等于32或64字节。
$binary_remote_addr变量值的长度总是4个字节,因此状态大小始终是32字节。
1M共享空间可以处理3.2万个会话,每个会话32字节。

limit_speed
语法:limit_speed zone_name max_speed
默认值:no
配置段:http,server,location
该指令指定同一个IP的最大速度。
例如:如果限制每个IP地址的最大速度为100KB,同时同一个IP有10个并发连接,那么每个连接的速度为10KB。

3. 安装方法
# ./configure –prefix=/usr/local/nginx –-add-module=./nginx_limit_speed_module-master
# make
# make install

4. 实例

http {
    limit_speed_zone   www_ttlsa_com  $binary_remote_addr  10m;

    server {
        location /download/ {
            limit_speed   www_ttlsa_com  100k;
        }
    }
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部