Portál AbcLinuxu, 1. května 2025 14:17
Updatoval jsem HW v domácím servříku. Všechno šlo v pohodě až na jednu podivnost. Rychlost síťových operací.
Intel Core i5 540, 8GB DDR3 (z počátku jen 4GB, více níže v článku), GA H55M-UD2H. Další podrobnosti o HW jsou u mě.
Integrovaná grafika v procesoru, deska s 6xSATA II. Nic víc není potřeba. Integrovaná síťovka Realtek 8169. Modří už vědí, ano, původně z toho měl být článek "Nemám rád Realtek II". Ale nebude. Stroj je celkově více než 2x výkonnější (procesorový výkon a rychlost paměti) než předchozí Intel C2D 6320 a žere to o 14W méně (z původních 84W spotřeba klesla na 70W, po zapnutí další šetřících stavů CPU někdy i 67W). Rychlost disků a práce na FS v podstatě stejná jako na starém (možná o pár neměřitelných procent lepší). Po této stránce tedy úspěch.
Tady ani není co psát. Po zapojení disků do nové desky systém prostě nabootoval. Očekával jsem problém s GK (i když ani ne, VGA mód to zvládat musí), problém s řadičem disků atp. Nic z toho, CentOS prostě normálně nabootovat a dokonce i KVM zcela bez problémů nastartovalo stroje. Pro jistotu jsem ale vygeneroval nový initrd s příslušnými moduly. Zkuste si vyměnit desku a procesor (na zcela jinou generaci) u jiného OS .
Vše tedy ok až na jednu věc a tou byla rychlost sítě. "Tak samozřejmě, je tam Realtek," říkal jsem si a namontoval tam síťovku Intel. Bohužel stejný problém. Abych byl zcela přesný:
Zde je dobré poznamenat, že v této chvíli byl systém osazený dvěma 2GB moduly DDR3, tudíž celkově 4GB RAM a také upozornit, že rychlost čtení z FS byla 130MB/s, tedy přístupovou rychlostí na disky to nebylo (a soubory byly stejně po opakovaném testování v RAM).
Takže, Realtekem to není, Intelácká síťovka jede ještě pomaleji. Dokonce i lokální síťový provoz (samba ve virtuálce) byl stejně pomalý (30/15), což ale šlo kompletně mimo síťový HW (ale ne mimo síťový stack). Zajímavé bylo, že jedno jádro CPU bylo při jakémkoliv síťovém přenosu (lokální, vzdálený) plně vytížené soft irq.
Ani jsem to vlastně teď řešit nechtěl. Až tu bude CentOS 6.0 s novým jádrem, tak může být vše jinak, tak jsem to prostě odložil. Jen jsem tam dokoupil další dva 2GB moduly na celkových 8GB (což teď vidím jako chybu a v nejbližší příležitosti tam půjdou 4GB moduly na 16GB).
No a náhle rychlost sítě dosahuje saturace gigabitu (a to prosím na Realteku) a samba lítá krásných 70/110 MB/s (proč je čtení pomalejší než zápis fakt nevím, ale tyhle rychlosti mi stačí, takže to neřeším). Zatížení CPU původními soft interrupty zmizelo a místo toho je standardní a očekávané io wait.
Připomínám, že systém s 4GB netrpěl nedostatkem. Swap nemám a při testech bylo obsazeno max 2GB na aplikace (typicky méně, všechny ostatní služby byly vypnuté) a 2GB měl k disposici jako IO cache (kterou používal).
Tímto celou věc považuji za hotovou (neříkám vyřešenou), protože opravdu nevím, kde byla příčina. Pokud někdo vím, ať se podělí v diskusi.
Tiskni
Sdílej:
Jenom mi prijde prapodivne to pomalejsi cteni.
Což může být dané interakcí linux samba vs windows.
Zkoušel jsem tu různé kombinace a nejlepší výsledek dávala kombinace windows7 vs windows7 (realtek vs intel): 104.9 / 105.1 MB/s
Při teste "jakýkoliv windows stroj" vs linux mělo čtení kolem 60-70MB/s. Bohužel tu nikde nemám další linux abych zkusil sambu linux vs linux (což je ale kravina, v praxi bych tam stejně použil NFS).
Na tu ukecanost starého protokolu jsem se také díval. Opravdu brutální.
Pokud si s tím budeš hrát, zkus změřit rozdíly. Já ty "mini benchmarky" dělal pomocí CrystalDiskMark na připojenou síťovou jednotku.
Zkuste si vyměnit desku a procesor (na zcela jinou generaci) u jiného OSněkdy před rokem nebo tak jsem přešel z amd 790x+sb600 na intel p35+ich. tudíž zcela jiná i GLAN, jiný 1394 řadič, jiné úplně všechno. hodně stará zaprasená wxp to zvládla. prostě jsem přeházel karty di nové desky, normálně pustil wxp a po asi 20 minutách "cvičení s ovladači" systém fungoval dál jakoby se nechumelilo..
Rychlost sambyJejda. Herone. Rychlost Samby snad až jako poslední věc (je to krám). První co bych udělal když dostanu nějakou kartu je test pktgenem. Testuje rychlost od sběrnice až po síťovou kartu a dá se všelijak štelovat (viz ten paper) a vymáčknout jako citrón (tudíž až skoro na maximum). Jinak bacha, pakety se cpou do sítě, takže to občas dovede působit jako slušný flood attack. Pak bych vyzkoušel čisté TCP a UDP spojení mezi dvěma GNU/Linuxovými stroji (Windows zavrhuji čistě ze zkušenosti). Klidně můžeš zkusit dva obyčejné netcaty a nějaký /dev/zero nebo /dev/urandom (ten už ale zatěžuje procesor). Jinak ovšem jsou lepší nástroje jako iperf, nttcp a tak. Fungují podobně, ale líp se nastavují. Jinak ze softirq bych si až takovou starost nedělal. On se od klasického HW až tak moc neliší, ovšem co lišit může určitě je kód pro obslužnou rutinu mezi HW a SW přerušení v driveru pro daný NIC. Pokud se chceš hrát, můžeš vyzkoušet tuhle hračku (ale jinak jsou pro jádro i jiné profilery), který ti ukáže přes které funkce paket prochází a kolik času v nich tráví. Kdo ví, třeba se ti povedlo nalézt bug a můžeš se zasloužit na jeho lokalizaci a opravě.
možná by sis to měl přečíst znovuJejda Herone. To nezakecáš.
Dva linuxové stroje nemámhttps://fedoraproject.org/get-fedora? Jinak když to valí z paměti tak máš maximální jistotu, že se to nezakuckalo někde na sběrnicích a tak. Jediný problém může být leda tak když dojde paměť.
a rychlost samby je na file serveru pro windowsí stroje asi to síťově nejpodstatnější co mě zajímá.No jo, jenže ty pak zmetkovost Samby nebo něco podobného svádíš na Realtek, to je pak problém.
Tak ještě jednou. Jak bych si pomohl Fedorou na jiném stroji, když to lokálně jelo taky blbě? Jinými slovy, vyloučil jsem problém v síťovém HW. To je odpověď i na tu poslední větu (a budu hodný a nebudu chtít citaci, která by toto tvrzení dokazovala).
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.