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

Adam Pribyl pribyl na lowlevel.cz
Neděle Srpen 12 21:06:39 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.

Podle me je zkoumani neceho takoveho, hezke cviceni, ale jinak ztrata 
casu.

> PM

Adam Pribyl

PS: Muzu vam poslat zadarmo jeden PC engines Wrap 2xeth 2xminipci, jen 
byste si musel dobastlit napajeci konektor. Wrap uroutuje do 50Mbit.


Další informace o konferenci Linux