HEDG Posted September 15, 2011 · Report post Добрый день всем Наговцам! При очередном чтении man ipfw обратил внимание, что в пайпах есть технология burst. burst size If the data to be sent exceeds the pipe's bandwidth limit (and the pipe was previously idle), up to size bytes of data are allowed to bypass the dummynet scheduler, and will be sent as fast as the physical link allows. Any additional data will be transmitted at the rate specified by the pipe bandwidth. The burst size depends on how long the pipe has been idle; the effec‐ tive burst size is calculated as follows: MAX( size , bw * pipe_idle_time). К сожалению в инете инфы не так много... (Например нашел статью О методах искусственного увеличения показаний). На первый взгяд все элементарно. Насколько понял, то при простое пайпа первый трафик указанный в burst не шейпится, после чего шейпинг происходит в обычном режиме. У меня, для каждого ip создается отдельный pipe в каждое из направлений (используется tablearg). Вот например задаем скрость пайпа в 1Mbit/s и burst 1Mbyte #ipfw pipe 9344 config burst 1M bw 1Mbit/s # ipfw pipe 9344 list 09344: 1.000 Mbit/s 0 ms burst 1048576 q140416 50 sl. 0 flows (1 buckets) sched 74880 weight 0 lmax 0 pri 0 droptail sched 74880 type FIFO flags 0x0 0 buckets 0 active При подобной настройке не происходит первоначального увеличения скорости... При дополнительно указанном queue: #ipfw pipe 9344 config burst 1M bw 1Mbit/s queue 800KB # ipfw pipe 9344 list 09344: 1.000 Mbit/s 0 ms burst 1048576 q140416 800 KB 0 flows (1 buckets) sched 74880 weight 0 lmax 0 pri 0 droptail sched 74880 type FIFO flags 0x0 0 buckets 0 active При такой настройке действительно происходит увеличение первоначальной скорости (стартует закачка с 200-250Kbyte/s) Какая вообще зависимость между burst и queue? Кто-то игрался с этими параметром? Есть ли какието "побочные" действия, кроме запланированого кратковременного увеличения скорости? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Dyr Posted October 7, 2011 · Report post Я игрался. Параметры и обьяснение брал отсюда: http://www.cisco.com/en/US/docs/ios/12_2/qos/configuration/guide/qcfpolsh.html Если кратко, то рекомендуется <code>normal burst = configured rate * (1 byte)/(8 bits) * 1.5 seconds</code> Всё, в принципе, работает действительно красиво. У меня сейчас стоит вот так: <code> my $queue_size = int($speed_in / (8 * 10)); my $burst_size = int($speed_in / 8); ... $ipfw pipe $rule_in config bw ${speed_in}Kb/s mask dst-ip 0xFFFFFFFF queue ${queue_size}Kbytes burst ${burst_size} $ipfw pipe $rule_out config bw ${speed_out}Kb/s mask src-ip 0xFFFFFFFF queue ${queue_size}Kbytes burst ${burst_size} $ipfw queue $rule_in config pipe $rule_in mask dst-ip 0xFFFFFFFF queue ${queue_size}Kbytes $ipfw queue $rule_out config pipe $rule_out mask src-ip 0xFFFFFFFF queue ${queue_size}Kbytes </code> Единственное "но" (относящееся к burst косвенно), это что по умолчанию queue size ограничено на уровне 1Мбайта ("sysctl net.inet.ip.dummynet.pipe_byte_limit") Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
svmidi Posted June 25, 2012 · Report post #ipfw pipe 9344 config burst 1M bw 1Mbit/s # ipfw pipe 9344 list 09344: 1.000 Mbit/s 0 ms burst 1048576 q140416 50 sl. 0 flows (1 buckets) sched 74880 weight 0 lmax 0 pri 0 droptail sched 74880 type FIFO flags 0x0 0 buckets 0 active При подобной настройке не происходит первоначального увеличения скорости... При дополнительно указанном queue: #ipfw pipe 9344 config burst 1M bw 1Mbit/s queue 800KB # ipfw pipe 9344 list 09344: 1.000 Mbit/s 0 ms burst 1048576 q140416 800 KB 0 flows (1 buckets) sched 74880 weight 0 lmax 0 pri 0 droptail sched 74880 type FIFO flags 0x0 0 buckets 0 active При такой настройке действительно происходит увеличение первоначальной скорости (стартует закачка с 200-250Kbyte/s) Какая вообще зависимость между burst и queue? Кто-то игрался с этими параметром? Есть ли какието "побочные" действия, кроме запланированого кратковременного увеличения скорости? У меня вот проблема, не работает burst не с queue не без него в FreeBSD выше версии 8. В FreeBSD 8, никаких проблем не возникает, всё работает как надо. В 8.2, 8.3 и 9 работать не хочет. Кто нибудь в курсе как заставить его работать? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...