throughput and interrupts
julian at elischer.org
Wed Aug 16 04:32:44 UTC 2006
Send me the following in private email:
an ascii-art picture of your network would be good
ifconfig and netstat -r output..
I will see if there is something in your config that is inefficient.
also, you could try profiling natd...
Bachilo Dmitry wrote:
>В сообщении от Вторник 15 августа 2006 23:45 Tofik Suleymanov написал(a):
>>Bachilo Dmitry wrote:
>>>I am completely stuck. I have a router, that rules three subnets. At
>>>first there were Allied Telesyn's netcards with realtek chipsets. I am
>>>using ipfw+natd and I had like 3,5 megabytes per second with 20 per cent
>>>of interrupt load. I had "discarded oversized frame" too often so I've
>>>replaced two main cards with 3Com 905 and now my xl0 and xl1 never
>>>discard frames. But I saw no speed boost and interrupts were also very
>>>high. I have discovered some IRQ conflicts and removed them, now I have
>>>single device per IRQ, but still i have near 20-30 % of interrupt load,
>>>when i download something through this router (and natd takes rest % of
>>>CPU). Some people advised me to use polling, so I've built kernel with
>>>HZ=1000, polling and tried it. Interrupts grew to 40-50% and speed
>>>decreased to 200-300 kb/s, so I had to turn the polling off.
>>>I just don't know what to try, to gain at least 9 mb/s, because this is
>>>what I get at home with the same cards, the same processor, with no
>>>polling and throgh the same provider.
>>Could you please try natd+kqueue patch from
>>http://www.freebsd.az/patches.html and report results (difference it
>>made etc etc) ?
>>I did not have any chance to test it in heavy load environment.yet.
>patch applied successfully, but the same throughput and the same picture in
>CPU states: 3.5% user, 0.0% nice, 68.4% system, 28.1% interrupt, 0.0% idle
>Mem: 127M Active, 670M Inact, 137M Wired, 48M Cache, 111M Buf, 15M Free
>Swap: 64M Total, 272K Used, 64M Free
> PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
>87524 root 111 0 1300K 828K RUN 0:16 31.96% 31.69% natd
> 11 root 171 52 0K 8K RUN 422.8H 10.94% 10.94% idle
> 37 root -44 -163 0K 8K WAIT 99:14 6.88% 6.88% swi1: net
> 30 root -68 -187 0K 8K WAIT 40:42 5.27% 5.27% irq20: xl1
> 29 root -68 -187 0K 8K RUN 59:14 4.00% 4.00% irq19: xl0
> 35 root -28 -147 0K 8K WAIT 141:06 0.05% 0.05% swi5: clock
More information about the freebsd-current