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