mod_throttle
mod_throttle 限制出站带宽使用
所有速率均以字节/秒为单位。限流额度以固定间隔填充(编译时常量;默认为200毫秒)。
io.throttle (操作)
为当前连接设置出站限流限制
io.throttle (rate, burst);
- 速率
- 字节/秒限制
- 突发
- 可选,默认为速率的2倍
burst
是限流额度的初始值和最大值;进行IO操作会消耗限流额度,限流额度会随着时间以指定的速率重新填充。
io.throttle_pool (操作)
将当前连接添加到出站限制的限流池
io.throttle_pool rate;
- 速率
- 字节/秒限制
同一池中的所有连接作为一个整体受到限制。每个 io.throttle_pool
操作都会创建自己的池。
示例
在多个地方使用同一个池
setup {
module_load "mod_throttle";
}
downloadLimit = {
io.throttle_pool 1mbyte;
}
# now use it wherever you need it...
downloadLimit;
io.throttle_ip (操作)
将当前连接添加到基于IP的出站限制限流池
io.throttle_ip rate;
- 速率
- 字节/秒限制
来自同一IP地址在同一池中的所有连接作为一个整体受到限制。每个 io.throttle_ip
操作都会创建自己的池。
示例
在多个地方使用同一个池
setup {
module_load "mod_throttle";
}
downloadLimit = {
io.throttle_ip 200kbyte;
}
# now use it wherever you need it...
downloadLimit;