[+] Tragiczny odczyt z ext3, zapis lepszy ale też kiepsko

Wszystko związane z jądrem systemowym, sterownikami, sprzętem itp.
siwuch86
Beginner
Posty: 143
Rejestracja: 06 lutego 2008, 11:21
Lokalizacja: Kraków

[+] Tragiczny odczyt z ext3, zapis lepszy ale teŻ kiepsko

Post autor: siwuch86 »

Witam.
Od dluzszego czasu sie we mnie zbieralo i dzis siadlem i pogrzebalem w poszukiwaniu odpowiedzi na: czemu ten Linux tak sie wlecze? No moze wlecze to przesadzone bo ogolnie idzie tego uzywac ale Windows byl "zywszy". Wyglada na to ze chyba znalazlem przyczyne ktorej rozwiazac nie potrafie.
Otoz, zauwazylem ze kopiowanie plikow jest masakrytycznie powolne, zaczalem to testowac, odpalajaac ronze dystrybucje na livecd i zaobserwowalem pewna prawidlowosc: odczyt z partycji ext3 jest tragiczny, zapis lepszy ale tez daleki od idealu, co dziwne zapis na ntfsie jest dobry :D !
To co pisze popieram kilkoma testami ktore wykonalem:
Kopiowaanie w obrebie jednej partycji ext3 - transfer ok 3MB/s - 5,5MB/s
kopiowanie w obrebie jednej partycji ntfs (ntfs-3g) - ok 20MB/s
kopiowanie z ext3 na ntfs - 4MB/s - 5MB/s
kopiowanie z ntfs na ext3 - 10MB/s - 12MB/s

Wniosek wg mnie prosty: odczyt z ext3 jest tragiczny co skutkuje takimi a nieinnymi wynikami a system jest "oporny".
Dodam jeszcze troche swoich obserwacji... kopiujac w obrebie ntfs transer jest ok a system chodzi jako tako - wiadomo - troszke muli, ntfs-3g nie uzywa procka w 100%, ciezko mi powiedziec ile srednio bo bardzo sie to waha w kazdym razie w okolicach 50%.
Gdy kopiuje w obrebie ext3, jesli chodzi o uzycie procka to nic sie nie dzieje, na szczycie listy amarok z uzyciem 2%, system niestety zachowuje sie jakby bez wlaczonego dma - nawet kursor czasem przycina - dramat.

Oto co pokazuje hdparm:

Kod: Zaznacz cały

hdparm -i /dev/sda

/dev/sda:

 Model=ST3160811AS                             , FwRev=3.AAE   , SerialNo=            6PT09L5S
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
 BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=?16?
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=312579695
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: Unspecified:  ATA/ATAPI-1,2,3,4,5,6,7

 * signifies the current active mode
dziwna sprawa troche bo gdy odpalam livecd suse10.3 to hdparm pokazuje cos takiego:

Kod: Zaznacz cały

linux@linux:/ #hdparm -i /dev/sda

/dev/sda:

 Model=ST3160811AS                             , FwRev=3.AAE   , SerialNo=            6PT09L5S
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
 BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=?16?
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=312579695
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: Unspecified:  ATA/ATAPI-1,2,3,4,5,6,7

 * signifies the current active mode
czyli niema trybu udma6 (ktory na debianie jest) i zaden inny nie jest uzywany, jednak wyniki testow sa takie same (na ntfs ok, na ext3 tragedia)

jajka na jakich testowalem:
suse: 2.6.22.5-31 default
debian: 2.6.18-5-486, 2.6.22-3-486, 2.6.22-3-k7, 2.6.24-1-486

gdyby rzeczywiscie dma nie bylo wlaczone to wszedzie bylaby lipa wiec wydaje mi sie ze musi byc wlaczone a cos ewidentnie "swiruje"

aha ostatnie co chce napisac to kontreler: wbudowany w chipset nForce4SLI (czytalem o problemach z modulem od nvidii ale na forum spotkalem sie z problemami gdzie wszystko chodzilo marnie, a tu jak widac na przykladzie partycji ntfs, dysk i kontroler potrafia dobrze funkcjonowac)

mam w domu jeszcze jednego kompa to podlacze tam dysk i obczaje jak to bedzie wygladac tam

UPDATE:
podlaczylem do drugiego kompa, gdzie tranfer musialbyc gorszy (ze wzgledy na sprzetowe ograniczenia) - i byl ale tylko na ntfs, na ext3 identycznie. Wnioskuje z tego iz w przypadku ntfs 'a mozliwosci dysku/konroler sa w pelni wykorzystywane gdyz na gorszym kompie (gdzie brak kontrolera SATA2 (brak NCQ), gorszy konreoler pamieci) transfer troche spadl a na ext3 nie wiec jest ograniczony software'owo. Owy komputer ma kontroler SiliconImage 3112 (czyli inny niz w moim kompie gdzie jest wbudowany w nForce4) wiec problem modulu nvidii raczej odpada.

Prosze o pomoc

EDIT: przetestowalem na starszym i nowszym jajku (dopisalem wyzej konkretnie jakie), wszedzie to samo :(

[ Dodano: 2008-03-23, 13:43 ]
sam sobie odpowiem :D
Dziwna sprawa - mialem dwie partycje ext3 - jedna na system a druga zamontowana w /home. Na obu byl problem, zrobilem format tej montowanej w /home, zalozylem ext2 i obie chodza jak nalezy, pewnie jakas uszkodzona byla i jak zmienie na ext3 to bedzie tez dzialac, jednak ext2 jest szybsza niz ext3.
Mimo wszystko potestowalem jeszcze troche w porownaniu z partycjami ntfs i nawet bardzo pofragmentowana partycja ntfs dorownuje wydajnoscia ext2/3, natomiast partycja gdzie trzymam filmy, obrazy itp - duze, niepofragmentowane pliki jest szybsza o ok 3 - 4 MB/s. Troche to śmieszne w obliczu tego ile sie naczytalem o kiepskich, pofragmentowanych partycjach w porownaniu z super odpornymi na awarie, fragmentacje i wydajnymi partycjami Linuxa. A moze problem dotyczy tylko mnie, moze to anomalia jakas? Moglby sie ktos doswiadcziony wypowiedziec w tej sprawie.
Tak czy siak, problem rozwiazany, przepraszam za zamieszanie.
tgR

Post autor: tgR »

imo neimozliwe zebys za pomoca ntfs-3g mial szybszy odczyt zapis niz na ext2/3 ...
a to dlatego ze o ile sie nie myle ntfs-3g jest w userlandzie ...
no i fizycznie ... pofragmentowane pliki tez niemaja mozliwosci byc odczytane szybciej niz nie pofragmentowane ...
poloz sobie 4 kulki w 4 pokojach
i inne 4 kulki w 1 pokoju
ktore szybciej zbiezesz ?

z tego co ja widze u siebie to pod linuksem nie tylko szybciej leci kopiowanie z partycji na partycji z dysku na dysk (przynajmniej u mnie) ale nawet kopiowanie po lanie przez nfs huh ... lan 100mbit a transer 10-11 mb czego wiecej chciec ? przy czym windows miedzy windowsem dociaga do 6,5
siwuch86
Beginner
Posty: 143
Rejestracja: 06 lutego 2008, 11:21
Lokalizacja: Kraków

Post autor: siwuch86 »

Kod: Zaznacz cały

imo neimozliwe zebys za pomoca ntfs-3g mial szybszy odczyt zapis niz na ext2/3 ... 
wybacz ale czytac umiem, i stoperem mierzyc tez

Kod: Zaznacz cały

pofragmentowane pliki tez niemaja mozliwosci byc odczytane szybciej niz nie pofragmentowane ...
to niczego nie dowodzi, system plikow i zarzadzanie nim jest bardzo skomplikowane a algorytmy jakie za to odpowiadaja tez maja na to wplyw (a nie tylko fizyczne polozenie fragmentow plikow). Oczywiste jest ze odczyt bedzie wolniejszy z partycji pofragmentowanej niz niepofragmentowanej... jednak tak bezposrednio mozna porownac tylko partycje z takimi samymi systemami plikow...

faktem jest ze to co napisalem w pierwszym poscie jest prawda, sam chcialbym uzyskac lepsze tranfery wiec jesli wiesz jak to zrobic to pomoz zamiast wmawiac ze napewno ntfs jest u mnie wolniejszy. Stoper nie oszukuje.

Nadmienie jeszcze ze z ciekawosci zrobilem test kopiowania folderu ktory zajmowal 50MB a zawieral ponad 50tys plikow. Samo zliczenie i rozpoczecie kopiowania na linuxie trwalo ok 5 min, na windzie ze 2 min... Kompletna porazka.
Nie wiem czy to normalne, tak jednak jest u mnie, ogolnie zauwazam ze pod sporym obciazeniem linux nie radzi sobie kompletnie, zamula straszna.

Nie pisze tego po to zeby nazekac, i wychwalac winde ktorej nie wlaczylem od ponad miesiaca (poza testami) i dobrze mi z tym, staram sie jednak spojrzec obiektywnie i widze ze nie jest tak kolorowo jak mialo byc (w sensie wydajnosci), choc nie twierdze ze jest gorzej - minusow jednak troche jest i sa one dosyc uciazliwe.

Kod: Zaznacz cały

z tego co ja widze u siebie to pod linuksem nie tylko szybciej leci kopiowanie z partycji na partycji z dysku na dysk (przynajmniej u mnie) ale nawet kopiowanie po lanie przez nfs huh ... lan 100mbit a transer 10-11 mb czego wiecej chciec ? przy czym windows miedzy windowsem dociaga do 6,5
z tym zgadzam sie w 100% jednak to nie zalezy od systemu plikow (co nie zmienia faktu ze kompromituje MS)
yantar
Member
Posty: 1225
Rejestracja: 07 czerwca 2007, 21:15
Lokalizacja: Rzeszów

Post autor: yantar »

ext3 jest takim wyposrodkowanym systemem plikow pod wzgledem osiagow. Jesli mamy glownie drobnice, albo zdecydowanie duze pliki to warto wtedy rozwazyc inny rodzaj fs'a, ktory lepiej sie w takich przypadkach sprawdza (ReiserFS, XFS). Ext2 oczywiscie jest szybsza niz ext3 brak dziennika robi swoje, no ale cos za cos wieksza szansa na utrate danych.
skynet
Beginner
Posty: 224
Rejestracja: 06 stycznia 2008, 16:32

Post autor: skynet »

Ja korzystam z ReiserFS i uzyskuje transfer przy kopiowaniu >= 20MB/s a dysk[zwykły stary 10GB IDE, bez NCQ] i do tego parę razy go zapełniłem w 100%.
Dysk NTFS[40GB IDE, bez NCQ, dużo nowszy] wyciąga w porywach 12MB/s a średnio 8MB/s i jest zdefragmentowany[30%].
Na ext3 transfer był wolniejszy gdzieś tak ok 12MB/s.
Przez krótki czas xfs i przy plikach >2GB było >=25MB/s, więcej poprostu dysk nie pociągnie.
giaur
Member
Posty: 1915
Rejestracja: 25 maja 2007, 22:16

Post autor: giaur »

Ja na ext3 mam taki sam transefer jak na NTFS w obie strony, czyli ~13 MB/s. Na windowsie nie mam zadnego programu zeby to sprawdzic, ale podejrzewam ze podobnie.
siwuch86
Beginner
Posty: 143
Rejestracja: 06 lutego 2008, 11:21
Lokalizacja: Kraków

Post autor: siwuch86 »

skynet

Kod: Zaznacz cały

Ja korzystam z ReiserFS i uzyskuje transfer przy kopiowaniu >= 20MB/s a dysk[zwykły stary 10GB IDE, bez NCQ]
ale to chyba z jednego dysku na inny?? na tak starym dysku kopiowanie w obrebie jednego dysku z takim transferem jest nieosiagalne, na obecnych dyskach tak jak mowisz 25MB/s (ale to w obrebie jednego dysku) jest raczej maksimum.

Te 3 - 4 MB/s roznicy to nie koniec swiata i da sie przezyc, ale najbardziej frustrujace jest to ze podczas kopiowania z innego, rowniez bardzo szybkiego dysku transfer na linuxie nie przekroczyl 35 MB/s, na windowsie dobijalo natomiast do 55MB/s (zapis!), to na Athlonie64. Mowie oczywiscie o jednym, duzym, ciaglym pliku. Widac wyraznie ze potencjal dysku nie jest wykorzystywany w 100% :/. Niby rzadko sie zdaza zebym masowe kopiowanie robil miedzy dyskami ale sam fakt troche mnie denerwuje. Zastanwiam sie co by bylo gdybym zainwestowal w RAID'a (konkretnie RAID 0), od dluzszego czasu mam taki plan ale teraz obawiam sie ze kupie dysk a predkosc nadal bedzie taka jak jest bo kwestia szybkosci przestala byc istotna w momencie gdy dysk osiagnal ponad 30MB/s...
Awatar użytkownika
3ndriu
Beginner
Posty: 246
Rejestracja: 15 kwietnia 2007, 18:00
Lokalizacja: Chodzież

Post autor: 3ndriu »

Ja w jakimś czasopiśmie czytałem porónanie różnych systemów plików i wygrał go... NTFS. W testach wydajności pokonał: Reiser4, Ext3, JFS, XFS. Czyżby panom od Billa G. udało się zrobić coś dobrego?
siwuch86
Beginner
Posty: 143
Rejestracja: 06 lutego 2008, 11:21
Lokalizacja: Kraków

Post autor: siwuch86 »

no ja osobiscie uwazam ze ntfs jest dobrym systemem. Niedogodnoscia jest jak wiadomo fragmentacja ale NCQ troche poprawia sprawe... z drugiej strony nie kazdy ma NCQ ale jak sie tak zastanowie to chyba wole regularnie robic defragmentacje i miec szybszy system plikow niz miec wolniejszy odporny na fragmentacje. Jesli chodzi o odpornosc na awarie... w warunkach domowych chyba nie mozna sie rozeznac, nigdy mi sie partycja NTFS nie zwalila sama z siebie (tak jak to ogolnie windows ma w zwyczaju :D ), tylko po zabawach z partition magicem kilka razy zalowalem :/

Musze poobczajac linuxowe systemy plikow, moze cos bym wiecej wycisnal ze swojego dysku.

Pozdrawiam
Awatar użytkownika
3ndriu
Beginner
Posty: 246
Rejestracja: 15 kwietnia 2007, 18:00
Lokalizacja: Chodzież

Post autor: 3ndriu »

W tym samym teście jest napisane, że Ext3 również ulega fragmentacji. :shock:
ODPOWIEDZ