Re: HW + SW IRQ = 100 % CPU. Co s tím?

d.petr d.petr na post.cz
Neděle Srpen 12 22:22:49 CEST 2012


> On Sun, 12 Aug 2012, d.petr wrote:
> 
> >> ------------ Původní zpráva ------------
> >> Od: Pavel Kankovsky <peak na argo.troja.mff.cuni.cz>
> >> ----------------------------------------
> >> On Sun, 12 Aug 2012, d.petr wrote:
> >>
> >>> 	Můj dotaz zní: je tato přenosová rychlost technickou hranicí
> >>> možností serveru, nebo mám jen něco špatně nastavené? V serveru je AMD
> >>> 486/DX2-66, síťovky ISA 10 Mbit, moje vlastní jádro 2.6.35.
> >>
> >> Pozorovaný symptom nastává, když počítač nestíhá pakety zpracovávat.
> >> Skončí to tak, že se celou dobu točí v jádře a userland stojí na místě.
> >> Hypoteticky by se dal userland odblokovat tím, že by se něčím trochu
> >> přibrzdil síťový provoz, ale zrychlení přenosu asi jen tak nedosáhnete.
> >>
> >> Můj velmi hrubý odhad je, že CPU by routování 10 Mb/s zvládat mohlo (ale
> >> může záležet na tom, jak máte složité routovací tabulky nebo pravidla
> >> v iptables). Úzké místo bych možná spíš hledal v těch síťovkách. Ale možná
> >> je všechno jinak.
> >>
> >> Jestli nad tím chcete bádat, tak byste měl změřit, jak dlouho trvají
> >> jednotlivé fáze zpracování paketu (přijetí v driveru, filtrování a
> >> routováné, odeslání z driveru). Bohužel to nebude tak jednoduché, protože
> >> 486 afaik neumí TSC a tak se budete muset uchýlit buď k periodickému
> >> vzorkování a statistice nebo připojit nějaké přesnější hodiny.
> >
> > Když rychlost přibrzdím (ve svém PC nastavím v programu omezení), server stíhá
> a (velmi zhruba) lze sledovat, jak s rostoucí rychlostí vzrůstá procento času v
> HW a SW interruptech. Odhad maxima (aria umí brzdit jen na nízké rychlosti, nebo
> vůbec) tak nějak odpovídá těm 4 Mbit/s.
> > Zkusil jsem v serveru wget s ukládáním na disk, dosažená rychlost byla ještě
> nižší, jen asi 3 Mbit/s. Ovšem při ukládání na RAMdisk saje skoro 4,6 Mbit/s.
> > Chtěl jsem zkusit zvětšit MTU síťovek, ale cokoliv většího, než 1500, odmítá.
> 
> Ethernet MTU vetsi nez 1500 normalne nepodporuje. Zarucene vas omezuje jak 
> CPU tak sitovky. Na uroutovani 100Mbit (a to jen prehazovani) potrebujete 
> minimalne PIII/800MHz na 10Mbit nevim. Parametry sitovek se kupodivu take 
> lisi. Ruzne sitovku ruzne zatezuji CPU, podle toho co umeji na HW urovni. 
> Mimochodem ani Alix neuroutuje ciste 100Mbit. Pokud tam mate jeste navic 
> nejake iptables a jine (nedej boze QoS), tak se 486 moc parady uz 
> nenadelate.
> 
> Adam Pribyl
> 
> PS: Muzu vam poslat zadarmo jeden PC engines Wrap 2xeth 2xminipci, jen 
> byste si musel dobastlit napajeci konektor. Wrap uroutuje do 50Mbit.

Kdybych potřeboval na 10 Mbit PIII/80 MHz, tak to by naznačovalo, že víc asi opravdu se 486/66 nevytlačím. Škoda.
Iptables tam samozřejmě mám. Zkusil jsem úplně povolit forward a rychlost stoupla asi o 5 %.
Nepotřebuji uroutovat 100 Mbit, stačí mi internet a tam hned tak 100 Mbit mít nebudu. :-)

Za nabídku Wrapu děkuji, ale připadal bych si poněkud nepatřičně, takhle zadarmo tady něco vyškemrat. ;-) Navíc bych neměl škatulku (ovšem možná je stejná, jako pro ALIX). Ale -- malinko odbočím -- kouknul jsem se na něj (wrap1e102 a 103) a on nemá konektor na disk, ani USB (a ani baterku, takže zapomíná čas?) - jak se vlastně nabootuje instalační médium? A nevíte, jestli ALIX umí bootovat z USB?

PM


Další informace o konferenci Linux