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

d.petr d.petr na post.cz
Neděle Srpen 12 20:50:32 CEST 2012


> ------------ 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á.

PM


Další informace o konferenci Linux