Linux failisüsteemi jõudluse mõõtmine

From ICO wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Sissejuhatus

Linux failisüsteemi jõudluse mõõtmine

Eeldused

  • Teadmisi Linux operatsioonisüsteemist
  • Oskus töötada käsurealt
  • Linux/Unix OS (näited on Ubuntu 13.04)

Jõudluse mõõtmine dd abil

Kõige lihtsamaks viisiks saada infot failisüsteemi jõudluse kohta on kasutades dd käsku. Alljärgnevalt mõned näited:[1]

Kirjutuskiiruse mõõtmine

dd bs=8k count=1000k if=/dev/zero of=test
  • bs=8k - ploki suurus 8KB
  • count=1000k - kasutatavate plokkide arv 1 000 000
  • if=/dev/zero - sisend, hetkel nullid
  • of=test - väljund, hetkel fail nimega 'test'

Väljund

Selle käsuga võib aga tulemust moonutada süsteemi puhvrikasutus.[1]
Et mõõta konkreetselt ketta kiirust on mitu võimalust. Üheks neist on dd käsule lisada parameeter 'conv=fdatasync' mis tagastab tulemuse alles siis kui andmed on reaalselt kettale kirjutatud. [1]

dd dd bs=8k count=1000k if=/dev/zero of=test conv=fdatasync

Väljund

Teine võimalus on kasutada mõõtmiseks käsku 'time' ja kettale kirjutamine kindlustada käsuga 'sync'.[2]

time sh -c "dd  bs=8k count=1000k if=/dev/zero of=test && sync"

Väljund

'dd' poolt tagastatud kirjutatud baitide arvu ja 'time' poolt tagastatdu aja jagamisel saame reaalse kirjutuskiiruse. 501501046B/s = 478MB/s

Lugemiskiiruse mõõtmine

Lugemiskiiruse mõõtmiseks peab olema eelnevalt tekitatud piisava suurusega testfail. Vt eelmine peatükk.

dd if=test of=/dev/null bs=64k count=100k
  • if=test - sisend, hetkel fail nimega 'test'
  • of=/dev/null - väljund, hetkel must auk

Väljund


Jõudluse mõõtmine hdparm abil

Teine käsk, millega on võimalik järjestiklugemiskiirusi mõõta on hdparm.[1]

sudo hdparm -Tt /dev/sda
  • sudo - hdparm vajab juurkasutaja õigusi
  • -T - testib puhvrist lugemiskiirust ilma kettalt lugemiseta
  • -t - testib lugemiskiirust kõvakettalt läbi kettapuhvri
  • /dev/sda - kettaseade mida testitakse

Väljund

  • Timing cached reads - puhvrist lugemiskiirus ilma kettalt lugemiseta
  • Timing buffered disk reads - lugemiskiirus kõvakettalt läbi kettapuhvri


Jõudluse mõõtmine IOzone abil

Täpsemaks ja põhjalikumaks jõudluse mõõtmiseks on vajalik paigaldada lisatarkvara.
Üheks selliseks rakenduseks on IOzone[3], mis võimaldab mõõta järgmisi kiirusi: [4]

  • Kirjutamine - uue faili kirjutamine koos metaandmete loomisega
  • Korduvkirjutamine - olemasoleva faili ülekirjutamine
  • Lugemine - loeb olemasolevat faili
  • Korduvlugemine - loeb juba varem loetud faili. Tänu operatsioonisüsteemis olevale puhvrile on see lugemine kiirem kui tavalugemine
  • Juhuslik lugemine - loeb ühe faili juhuslikult valitud lõike
  • Juhuslik kirjutamine - sarnane juhuslikule lugemisele. Kirjutab olemasoleva faili sisse juhuslikult valitud kohtadesse
  • Juhuslik lugemine ja kirjutamine koos
  • Tagurpidi lugemine - näiteks faili lugemine lõpust alguse poole
  • Record Rewrite - kirjutatakse ühte plokki samasse kohta, näitab puhvrite kiirust, kuhu antud plokk mahtus
  • Strided Read - hüppega lugemine. Failist loetakse nt algusest 4KB, liigutakse edasi 200KB, loetakse järgmised 4KB, jne
  • Fwrite, Frewrite - kirjutamine kasutades teegi funktsiooni 'fwrite()'
  • Fread, Freread - lugemine kasutades teegi funktsiooni 'fread()'

Parameetrid:

  • -a - kõik testid automaatselt suureneva plokisuuruse ja arvuga
  • -s 16G - kasutatava faili suurus
  • -r 1M - ploki suurus
  • ...

IOzone abil läbilaskekiiruse mõõtmine

iozone -i 0 -t 2

Jõudluse mõõtmine Bonnie++ abil

Bonnie++[5] võimaldab lisaks läbilaskekiirusele mõõta ka latentsust. Allpool toodud parameetrid:[6]

  • -d – kaust, mida kasutatakse testimiseks
  • -u – kasutaja, kellena testid käivitatakse, soovitav määrata, kui käsk käivitatakse juurkasutaja õigustes
  • -g – grupp, kellena testid käivitatakse
  • -r – arvuti mälumaht, testimise jaoks kasutatakse kahekordse mälumahu suurust faili
  • -b – ei kasutata kirjutuspuhvreid ja iga tegevuse lõppedes tehakse andmede sünkroonimine kettale
  • -s – testitav andmete suurus
  • -n – faililoomistestis kasutatav failide arv
  • -m – lisab väljundile sildi, et hiljem oleks võimalik aru saada, mis testiga tegu
  • -x n - kordab teste n korda

Väljund



Kasutatud materjal:

  1. 1.0 1.1 1.2 1.3 Slashroot.in - Linux File System Read Write Performance Test: http://www.slashroot.in/linux-file-system-read-write-performance-test
  2. Toolbox.com - Testing Disk Speed: the dd Test: http://it.toolbox.com/blogs/database-soup/testing-disk-speed-the-dd-test-31069
  3. IOzone.org - IOzone Filesystem Benchmark: http://www.iozone.org/
  4. Linux-mag.com - I Feel the Need for Speed: Linux File System Throughput Performance, Part 1: http://www.linux-mag.com/id/7525/
  5. Coker.com.au - Bonnie++ Documentation: http://www.coker.com.au/bonnie++/readme.html
  6. JamesCoyle.net - Benchmark disk IO with DD and Bonnie++: http://www.jamescoyle.net/how-to/599-benchmark-disk-io-with-dd-and-bonnie

Pildid: Tanel Liik