Rychlost disku - podruhe

Cejka Rudolf cejkar na dcse.fee.vutbr.cz
Pondělí Říjen 19 16:52:25 CEST 1998


Milan Zamazal (mz-mail na pdm.pvt.net) wrote:
: Muj U-DMA disk ma pod Linuxem take problemy s prenosovou rychlosti.
: Pod stabilnim jadrem (konkretne 2.0.35) oznamuje prikaz
: `time dd if=/dev/hda of=/dev/null bs=1024k count=100' 17,7 s,
: tj. priblizne 5,6 MB/s.  Aplikuji-li `hdparm -c1 /dev/hda', dostanu se
: na 13,5 s, tj. 7,4 MB/s, ovsem za cenu toho, ze zatizeni procesoru pri
: cteni stoupne z 20% na 100%, coz se mi zda byt cena prilis vysoka.
: `hdparm -d1 /dev/hda' hlasi, ze "operation not permitted".  Jedna se
: o levny neznackovy motherboard, takze z predchoziho vysvetleni
: predpokladam, ze jej Linux nepodporuje.
: Zkousel jsem i vyvojovou verzi jadra 2.1.105 (jinou momentalne po ruce
: nemam) a tam prikaz trva pro 16-bitovy rezim asi 30 s (3,3 MB/s).
: Ve 32-bitovem rezimu pak toto jadro prenasi data zhruba stejnou
: rychlosti, jako 2.0.35 v 16-bitovem rezimu.  Zajimave je, ze se
: spotrebou procesoroveho casu je to presne naopak.

To jsou veci. Je to cele fakt nejake prapodivne. Takhle jsem dopadl ja
se stejnym prikazem (UDMA urcite nemam) - a myslim, ze jeste divneji:

Time-sync:                                      Real     Sys
Linux 2.0.34 (-)                                14.7     5.2  
Linux 2.0.34 (hdparm -c1 -d1 -m16 -X34)         14.8     5.3          
Linux 2.1.125 (-)                               20.5     7.1
Linux 2.1.125 (hdparm -c1 -d1 -m16 -X34)        19.5     6.8  

Zkusil jsem jeste uzitecnejsi test: Zapis 100 MB dat a pak cteni 100 MB dat.
A opet jsem nameril docela sokujici hodnoty:

Write-sync:                                     Real     Sys
Linux 2.0.34 (-)                                24.9    20.1
Linux 2.0.34 (hdparm -c1 -d1 -m16 -X34)         24.6    20.2
Linux 2.1.125 (-)                               21.9     8.6
Linux 2.1.125 (hdparm -c1 -d1 -m16 -X34)        21.6     8.7

Read-sync:                                      Real     Sys
Linux 2.0.34 (-)                                19.2     6.9
Linux 2.0.34 (hdparm -c1 -d1 -m16 -X34)         19.1     6.9
Linux 2.1.125 (-)                               22.1    10.0
Linux 2.1.125 (hdparm -c1 -d1 -m16 -X34)        24.5    10.0

Muze to jeste nekdo zkusit? Bude na tom stejne spatne? (Vzhledem k tomu,
ze rychlost cteni je vetsinou mnohem dulezitejsi, nez rychlost zapisu.)

: Rekl bych, ze chovani Linuxu vuci memu disku je ponekud podivne.  Jak je

Vuci memu take. Zkousel jsem vsechny mozne kombinace
"hdparm -c? -d? -m? -X?", ale nic lepsiho jsem nevymackl.
Vyse uvedene casy je ale potreba brat s rezervou, protoze hodne
kolisaly - pro cteni treba od 20 s do 29 s. Vybiral jsem ale
spis ty lepsi.

: na tom treba FreeBSD?  Slysel jsem, ze stabilni verze FreeBSD jsou na

Tentokrat jsem casy pro FreeBSD radsi vykousl. (FreeBSD mam na 2 GB
s 1 GB volnym. Linux jen na 300 MB se 150 MB volnymi. Takze predpokladam,
ze soubor velky 100 MB je mnohem pracnejsi ulozit na 150 MB nez na 1 GB.
Nehlede na odlisnou velikost bloku, ktera se take urcite musi projevit.)

: tom obecne s drivery lepe nez Linux (napr. podporuji mnohem vice

Ja bych reklamam neveril. Pravda bude jako vzdy nekde uprostred.
Pro neco jo, pro neco ne. Nejlepsi je vyzkouset a poptat se, jak
z daneho systemu vymackat co nejvice :-). Urcite ale na FreeBSD
vice plati, ze by se mely kupovat pouze overene a podporovane veci,
jinak ma dotycny docela smulu. Na Linux urcite vzdycky neco najde,
i kdyz mu to trva par dnu a nechodi to se vsemi jadry.

: novejsich sitovych karet, takze FreeBSD lze bezproblemove instalovat po

Ted si treba vzpominam na "popularni" 3c905B. O jeji podpore v Linuxu
jsem slysel uz dost davno. Ale az do dnesni doby stale ctu, ze jsou
s ni v Linuxu nejake problemy (nutno stahnout co nejnovejsi cosi atd.).
Na FreeBSD jsem se o jeji podpore dozvedel pozdeji (oficialne od 2.2.7),
ale na druhou stranu jsem si nevsiml, ze by ve FreeBSD byla
tak problematicka.

: siti).  Je nadeje, ze by na pracovni stanici mohlo FreeBSD bezet
: rychleji nez Linux?  Nebo je naopak nadeje, ze se rekneme do konce roku
: objevi Linux 2.2, ktery problemy s drivery odstrani?

Vetsinou pujde o to, co chce clovek provozovat. Neco asi pojede rychleji,
neco pomaleji. Zkousel jsem dost testu, ale jejich vypovidaci hodnota
byla spatna. Priklad:
* V Linuxu jsou bezne zpozdene zapisy pro datove bloky. Ulozeni bezneho
  souboru pri nizke zatezi tedy muze trvat velmi kratkou dobu.
  Pokud ale ukladam hodne velky soubor (nebo je stanice zatizena nejak
  jinak), rychlost rychle klesa a vyrazne kolisa.
* Ve FreeBSD jsou datove bloky ukladany spise asynchronne. Takze ulozeni
  bezneho souboru pri nizke zatezi se muze jevit pomalejsi. Naopak pri
  narocnejsi praci s vetsimi soubory pri vetsi zatezi se mi jevi
  jako zivejsi.
A aby to bylo vice zamotane: Pro metadata je v soucasnem stavu
situace opacna: Linux je uklada asi asynchronne, FreeBSD zpozdene.
Jak tohle rozumne srovnat? To asi nejde. Kazdy si urcite najde nejake
zduvodneni, proc je nejaky system "rychlejsi" a nektery "pomalejsi".

Mam takovy dojem, ze rychlost neni to, kvuli cemu lide voli/budou volit
mezi Linuxem a jinym OS. (Stale doufam, ze se jadra 2.2 nebudou chovat
tak hrozitansky spatne, jak se mi chova 2.1.125 - pak by ten duvod
asi skutecne zacal existovat.)

--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--
Rudolf Cejka  (cejkar na dcse.fee.vutbr.cz;  http://www.fee.vutbr.cz/~cejkar)
Technical University of Brno, Faculty of El. Engineering and Comp. Science
Bozetechova 2, 612 66  Brno, Czech Republic


Další informace o konferenci Linux