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;