Portál AbcLinuxu, 30. dubna 2024 09:11


Dotaz: Router tráví příliš času v softwarových přerušeních.

29.12.2007 16:47 David Jaša | skóre: 44 | blog: Dejvův blog
Router tráví příliš času v softwarových přerušeních.
Přečteno: 738×
Odpovědět | Admin
Router mě poslední dobou zlobí: tráví nezdravě moc času obsluhou softwarových přerušení (%si v top). Obvykle se to projevuje jenom pomalejšími odezvami DNS, ale opravdový průšvih nastane, pokud se spustí nějaký P2P program ve vnitřní síti. Server se pak novými spojeními zatíží natolik, že je schopen routovat pouze některá už navázaná spojení, jakékoli nové spojení se zahodí a třeba i navázané ssh sezení přestane odpovídat. Zkusil jsem pomocí iptables connlimitu omezit počet spojení na počítač - to občas pomůže, ale ne vždy. Dál jsem vypnul logovací pravidla v iptables - nic se nezměnilo.

Rád bych zjistil alespoň příčinu těch přerušení a nejlépe ji i odstranil. :-)

Router není úplný šrot, je tam Pentium II 450 MHz, 512 MB RAM (neswapuje, ve swapu je jen pár kB), 2 disky s několika zrcadlenými partišnami, běží tam několik služeb (ssh, apache, mysql, cups, freeciv :)) a ve vnitřní síti jsou čtyři počítače.
oVirt | SPICE
Nástroje: Začni sledovat (3) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

29.12.2007 18:01 8an | skóre: 30
Rozbalit Rozbalit vše Re: Router tráví příliš času v softwarových přerušeních.
Odpovědět | | Sbalit | Link | Blokovat | Admin
P2P programy posílají spoustu malých paketů, a každý paket znamená většinou jedno SW přerušení. Pomohl by device polling (kernel se dotazuje síťové karty, jestli má nějaký paket, místo přerušení), ale to pokud vím zatím v Linuxu není, jenom ve FreeBSD. Jak rychlé je to připojení do Internetu? Pentium II 450MHz není nic extra, ale okolo 20Mbit by to mělo zvládnout. Máš tam nějaký traffic shaping a pokud ano, zkoušel jsi ho vypnout?
If you build an operating system that even an idiot can use, only idiots will use it.
29.12.2007 18:21 David Jaša | skóre: 44 | blog: Dejvův blog
Rozbalit Rozbalit vše Re: Router tráví příliš času v softwarových přerušeních.
Jak rychlé je to připojení do Internetu?
4/0,5 Mbps. Mám podezření, že za to částečně může ta asymetrie, dřív byl k dispozici větší upload...
Máš tam nějaký traffic shaping a pokud ano, zkoušel jsi ho vypnout?
Je tam pouze minimize-delay v iptables pro ssh, dns a dhcp.

Ještě bych měl dodat, že tam běží Debian Etch s o dvě verze balíčku starším jádrem (jinak up-to-date) a tyto problémy zaznamenávám až během posledních několika týdnů...
30.12.2007 12:46 8an | skóre: 30
Rozbalit Rozbalit vše Re: Router tráví příliš času v softwarových přerušeních.
Asymetrie by neměla vadit, to je problém klientů, že se jim ztrácí pakety (ale pak jich asi zase posílají o to víc). Zkusil bych vyměnit síťovou kartu za nějakou kvalitnější (Intel nebo aspoň 3COM), tím se vymění i ovladač, kde také může být problém.
If you build an operating system that even an idiot can use, only idiots will use it.
30.12.2007 13:17 David Jaša | skóre: 44 | blog: Dejvův blog
Rozbalit Rozbalit vše Re: Router tráví příliš času v softwarových přerušeních.
Síťovky jsou 2 3comy 905 (dřív tam byl jeden realtek 8139 a po výměně za 3com znatelně poklesla zátěž CPU). Router funguje v této podobě už 2,5 roku, šly přes něj i větší zátěže a vše bylo bezproblémů - ty se objevily až v posledních pár týdnech...
# lspci |grep Ethe
00:0d.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 30)
00:0f.0 Ethernet controller: 3Com Corporation 3cSOHO100-TX Hurricane (rev 30)
30.12.2007 13:11 Ondrej 'SanTiago' Zajicek
Rozbalit Rozbalit vše Re: Router tráví příliš času v softwarových přerušeních.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nemas preplnenou connection tracking tabulku?

Viz /proc/sys/net/ipv4/ip_conntrack_max a /proc/net/ip_conntrack .
30.12.2007 13:25 David Jaša | skóre: 44 | blog: Dejvův blog
Rozbalit Rozbalit vše Re: Router tráví příliš času v softwarových přerušeních.
server:~# cat /proc/net/ip_conntrack |wc -l
163
server:~# cat /proc/sys/net/ipv4/ip_conntrack_max
32768
Dá se v jádru zapnout logování těch přerušení? Připadá mi, že bez toho tady můžeme věštit z křišťálové koule ještě dlouho...
30.12.2007 17:24 David Jaša | skóre: 44 | blog: Dejvův blog
Rozbalit Rozbalit vše Re: Router tráví příliš času v softwarových přerušeních.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkusil jsem rebootovat a byl jsem donucen k routeru dotáhnout monitor, na kterém se skvělo něco o chybě zařízení PCI:00:0d.0 - dal jsem tam záložního realteka a už to jede. Díky všem za nápady.
oVirt | SPICE
30.12.2007 17:41 magnum
Rozbalit Rozbalit vše Re: Router tráví příliš času v softwarových přerušeních.
inak mavam presne ten isty problem... mam tu istu hw konfiguraciu 3krat - jeden router+dns a 2 na rozne servery, a uz 2krat som z podobneho dovodu menil sietove karty. proste ono sa to tvari ze ide ale je s tym problem...
30.12.2007 17:50 David Jaša | skóre: 44 | blog: Dejvův blog
Rozbalit Rozbalit vše Re: Router tráví příliš času v softwarových přerušeních.
Teď řeším, co tam dát nového. Současný Realtek 8139 není řešení, protože ubírá zbytečně CPU, takže vidím dvě možnosti: koupit jiný ojetý 100Mbps 3com nebo Intel (nějaké jsou třeba tady) nebo pořídit nový (hardwarový) gigabit - ale v těch se vůbec nevyznám...
30.12.2007 18:05 8an | skóre: 30
Rozbalit Rozbalit vše Re: Router tráví příliš času v softwarových přerušeních.
Pokud chceš mít jistotu tak tuhle: http://www.alza.cz/intel-pro-1000-gt-desktop-adapter-pci-1x-10-100-1000-glan-bulk-d53152.htm
If you build an operating system that even an idiot can use, only idiots will use it.
30.12.2007 18:27 magnum
Rozbalit Rozbalit vše Re: Router tráví příliš času v softwarových přerušeních.
no kedze u mna je to v podstate jedno tak pouzivam kartu aka je zrovna po ruke... teraz tam su aj nejake 3com, ale vecsina je realtec a sis900...
18.1.2008 00:01 David Jaša | skóre: 44 | blog: Dejvův blog
Rozbalit Rozbalit vše Re: Router tráví příliš času v softwarových přerušeních.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Po výměně vadné síťovky jel router několik dní normálně, ale v poslední době se začalo projevovat totéž, pouze v menší míře - ssh spojení nezamrzne úplně, ale moc použitelné taky zrovna není a router opět nepřenese ani zdaleka tolik, kolik dříve. Od minula se udála jedna změna, která stojí za zmínku - aktivoval jsem wifinu (xi-626) a dal ji do bridge s LAN. Proto jsem zkusil, jak si povede stahování z Internetu do /dev/null (pakety neprochází bridgem a nepřekládá se adresa) a "výkon" je zhruba stejný jako při routování: někde mezi 100 a 200 kB/s přičemž připojení zvládá nominálně 512 kB/s, které router dřív zvládal s celkovým zatížením CPU v jednotkách %...

Jak se dá zjistit, co jádro vlastně dělá, např. jaká softwarová přerušení pořád obsluhuje?
oVirt | SPICE
18.1.2008 12:32 Roman DAVID | skóre: 24 | Brno
Rozbalit Rozbalit vše Re: Router tráví příliš času v softwarových přerušeních.
cat /proc/interrupts
18.1.2008 13:03 Soptadv
Rozbalit Rozbalit vše Re: Router tráví příliš času v softwarových přerušeních.
Ahoj, jestli tam más XI-626 a pod HostAP, tak si dej pozor na sdílení přerušení. Hostap je na to hodně háklivej a doporučuju to udělat tak aby mněla ta XI-626 svoje IRQ jenom pro sebe.

Možná bych Ti ale stejně doporučil udělat AP spíš na Atherosu.

Sopťa
18.1.2008 17:25 David Jaša | skóre: 44 | blog: Dejvův blog
Rozbalit Rozbalit vše Re: Router tráví příliš času v softwarových přerušeních.
Díky, dát wifinu, aby měla přerušení samo pro sebe, pomohlo. Teď už se router chová mravně, drátově i bezdrátově zvládá celou šířku pásma, routování 4 Mbps po drátě vezme opět jednotky % času CPU a bezdrátově s TKIP/RC4 64b okolo 45 % CPU.
18.1.2008 16:14 macrek | skóre: 12
Rozbalit Rozbalit vše Re: Router tráví příliš času v softwarových přerušeních.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Na to je genialne pouzit systemtap. Zistis napr. ktore presne prerusenia sa ti generuju najviac, ktore procesy ich vyvolavaju a tak. Len to vyzaduje trochu skriptovacich zrucnosti a znalost celeho OS.

Mozno by sa dal pouzit aj auditd.
An eye for an eye makes the whole world blind.
18.1.2008 17:26 David Jaša | skóre: 44 | blog: Dejvův blog
Rozbalit Rozbalit vše Re: Router tráví příliš času v softwarových přerušeních.
Díky za tipy, podívám se na ně.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.