Страница 1 из 1

FreeBSD 6.2 + ipfw + pipe + dummynet

Добавлено: 2007-07-15 22:16:22
npu3pak
Столкнулся не так давно с такой проблемой - при при засовывании подсети в пайп скорость не соответствует заданной в конфиге пайпа (конкретно - ниже указанной на 15-20 %)

Погуглив наткнулся на ветку на bsdportal.ru
http://www.bsdportal.ru/viewtopic.php?=&p=68705" target="_blank
после чего полез играться с sysctl kern.polling
эффекта=0

на идеи уже просто иссяк
где копать? :?:

правила в ipfw

Код: Выделить всё

${fwcmd} add 1736 pipe 1726 ip from table(11,30) to not $localnets out
${fwcmd} add 1736 pipe 1736 ip from not $localnets to table(11,30) in
сам пайп

Код: Выделить всё

%ipfw pipe 1726 show
01726:   1.650 Mbit/s    0 ms  165 KB 15 queues (64 buckets) droptail
    mask: 0x00 0xfffffffc/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp

Код: Выделить всё

%sysctl net.inet.ip.dummynet
net.inet.ip.dummynet.debug: 0
net.inet.ip.dummynet.red_max_pkt_size: 1500
net.inet.ip.dummynet.red_avg_pkt_size: 512
net.inet.ip.dummynet.red_lookup_depth: 256
net.inet.ip.dummynet.max_chain_len: 16
net.inet.ip.dummynet.expire: 1
net.inet.ip.dummynet.search_steps: 523181302
net.inet.ip.dummynet.searches: 521398261
net.inet.ip.dummynet.extract_heap: 0
net.inet.ip.dummynet.ready_heap: 64
net.inet.ip.dummynet.curr_time: 967557386
net.inet.ip.dummynet.hash_size: 64

Код: Выделить всё

%sysctl kern.polling
kern.polling.idlepoll_sleeping: 1
kern.polling.stalled: 199
kern.polling.suspect: 329188
kern.polling.phase: 0
kern.polling.enable: 1
kern.polling.handlers: 2
kern.polling.residual_burst: 0
kern.polling.pending_polls: 0
kern.polling.lost_polls: 2374953
kern.polling.short_ticks: 2428
kern.polling.reg_frac: 40
kern.polling.user_frac: 20
kern.polling.idle_poll: 0
kern.polling.each_burst: 5
kern.polling.burst_max: 400
kern.polling.burst: 361
загрузка

Код: Выделить всё

last pid: 64950;  load averages:  0.00,  0.00,  0.00   up 11+06:37:37  23:04:14
23 processes:  1 running, 22 sleeping
CPU states:  0.0% user,  0.0% nice,  0.4% system,  1.1% interrupt, 98.5% idle
Mem: 20M Active, 133M Inact, 86M Wired, 20K Cache, 63M Buf, 256M Free
Swap: 1024M Total, 1024M Free
железо и сетевухи

Код: Выделить всё

CPU: Intel(R) Pentium(R) 4 CPU 3.20GHz (3207.29-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf34  Stepping = 4
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,C
MOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x441d<SSE3,RSVD2,MON,DS_CPL,CNTX-ID,<b14>>
  Logical CPUs per core: 2
real memory  = 536543232 (511 MB)
...
skc0: Marvell Yukon Lite Gigabit Ethernet rev. A3(0x7)
sk0: <Marvell Semiconductor, Inc. Yukon> on skc0
...
fxp0: <Intel 82559 Pro/100 Ethernet> port 0xdf00-0xdf3f mem 0xfeaff000-0xfeaffff
f,0xfe900000-0xfe9fffff irq 22 at device 10.0 on pci2
fxp1: <Intel 82559 Pro/100 Ethernet> port 0xde80-0xdebf mem 0xfeafe000-0xfeafeff
f,0xfe700000-0xfe7fffff irq 23 at device 11.0 on pci2
замер скорости выглядит так
wget --bind-address=[alias] http://урл.провайдера.ru/файлик/для/теста/файл.avi

Re: FreeBSD 6.2 + ipfw + pipe + dummynet

Добавлено: 2007-07-15 22:33:48
Alex Keda
чё-то подобное видел, даже находил в рунете обсуждение такой темы.
Правда, давно, год ли два назад. Вот тока где не помню.
Причин также не помню, но помню итог темы - надо увеличивать трубу на этот самый процент - причина какая-то естественная...