Сегодня столкнулся с жутким ростов пингов при использовании dummynet.
До 30-40мс. При allow ip from any to any пинг падает до 2-5мс.
При этом интересные вещи наблюдаются.
Например tasq em0\tasqem1 растут до 99% ну и даминет гдето же в этом районе.
last pid: 59122; load averages: 3.38, 2.88, 2.84 up 0+23:58:48 23:55:34
115 processes: 9 running, 89 sleeping, 17 waiting
CPU: 2.9% user, 0.0% nice, 70.6% system, 0.0% interrupt, 26.5% idle
Mem: 216M Active, 221M Inact, 322M Wired, 380K Cache, 213M Buf, 1212M Free
Swap: 4057M Total, 4057M Free
PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
30 root 1 -68 - 0K 16K CPU0 2 990:26 98.73% em1 taskq
54 root 1 -68 - 0K 16K CPU3 1 816:36 91.02% dummynet
29 root 1 -68 - 0K 16K CPU1 1 868:26 85.55% em0 taskq
11 root 1 171 ki31 0K 16K RUN 3 18.1H 49.56% idle: cpu3
12 root 1 171 ki31 0K 16K RUN 2 761:30 21.83% idle: cpu2
13 root 1 171 ki31 0K 16K RUN 1 524:13 13.23% idle: cpu1
14 root 1 171 ki31 0K 16K RUN 0 440:26 9.47% idle: cpu0
netstat -w1 -Iem1
input (em1) output
packets errs bytes packets errs bytes colls
63312 0 39692288 62416 0 52238499 0
60324 0 35901501 59938 0 50251272 0
61139 0 36303543 60004 0 52622678 0
60952 0 37933039 60075 0 50435259 0
61454 0 37362371 60088 0 52088529 0
И это не самое пиковое время.
При отрубании шейпера же имеем:
last pid: 59149; load averages: 2.34, 2.79, 2.82 up 1+00:01:48 23:58:34
115 processes: 8 running, 90 sleeping, 17 waiting
CPU: 2.0% user, 0.0% nice, 44.0% system, 0.0% interrupt, 54.0% idle
Mem: 216M Active, 221M Inact, 322M Wired, 380K Cache, 213M Buf, 1211M Free
Swap: 4057M Total, 4057M Free
PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
29 root 1 -68 - 0K 16K CPU0 0 870:57 84.47% em0 taskq
11 root 1 171 ki31 0K 16K RUN 3 18.1H 79.44% idle: cpu3
30 root 1 -68 - 0K 16K CPU2 1 993:10 74.12% em1 taskq
12 root 1 171 ki31 0K 16K RUN 2 762:23 45.12% idle: cpu2
14 root 1 171 ki31 0K 16K RUN 0 441:02 42.97% idle: cpu0
13 root 1 171 ki31 0K 16K CPU1 1 524:51 23.29% idle: cpu1
54 root 1 -68 - 0K 16K - 1 818:41 19.82% dummynet
1186 root 4 82 -15 54028K 47424K CPU1 1 63:51 4.98% ipcad
1571 root 1 8 0 24524K 8484K nanslp 2 55:52 4.79% perl5.8.9
1269 root 1 8 -15 39628K 21440K nanslp 3 45:10 2.15% perl5.8.9
1574 root 1 8 0 23308K 8048K nanslp 1 16:06 1.46% perl5.8.9
[root@router3 ~]# netstat -w1 -Iem1
input (em1) output
packets errs bytes packets errs bytes colls
73704 0 49893448 71250 0 61793588 0
73977 0 45924415 73224 0 66489917 0
76864 0 51850558 71159 0 61468444 0
71343 0 46966963 70661 0 62475316 0
79013 0 50484881 74106 0 72342066 0
76710 0 50132380 74981 0 69306911 0
72680 0 48928345 71334 0 62608152 0
76618 0 52790723 73765 0 63986055 0
Т.е. трафик больше что поидее должно было увеличить tasq emX но они наоборот упали.
Еще интересное кино - при включении net.inet.ip.dummynet.io_fast=1 пинг растет вообще еще в 3 раза и может доходить до 100мс.
Из оптимизаций включено:
net.inet.ip.forwarding=1
net.inet.ip.fastforwarding=1
hw.em.rxd=2048
hw.em.txd=2048
Все это крутится под FreeBSD7.2/amd64, Core2Quad Q9550, Intel 9402PT, мамка на чипсете i3200.
Поидее оно должно переваривать до 100kpps но почемуто на 60-65kpps уже рост пинга и потери.
Мнения? Предложения? Можно описания ваших тазиков с пропускаемым трафиком?