Fio
Fio on kettaseadmete testimiseks mõeldud utiliit, millel on suur valik seadistusi ning võimalus koondada erinevaid tekste ühte kesksesse konfiguratsioonifaili, mis lihtsustab tunduvalt erinevate testide loomist.
Random read of 128mb of data
[random-read] rw=randread size=128m directory=/tmp/fio-testing/data
Käivitamiseks
$ fio random-read-test.fio
Keerukam monfiguratsioon
[global] ioengine=libaio iodepth=1 runtime=300 time_based direct=1 sync=0 group_reporting size=1G filename=/srv/fiotesti-fail numjobs=1 [4m-seq-write] stonewall bs=4m rw=write [1m-random-write] stonewall bs=1m rw=randwrite [128k-random-write] stonewall bs=128k rw=randwrite [4k-random-write] stonewall bs=4k rw=randwrite
> numjobs=4
ioengine=libaio ioengine valikuid on palju, default on sync. Huvitav mida rsync kasutab, netist kohe ei leidnud. Katsetamise mõttes võiks korraks vähemalt võrrelda sync ja libaio numbreid.
numjobs=1 tähendab, et 4 protsessi koormab paralleelselt. Oletan, et (võrreldes numjobs=1 testiga) on järjestikune kirjutamine seetõttu oluliselt aeglasem ja random üsna täpselt sama (sest sync=1, direct=1).
direct=1 sync=1 Nende kahe lipu (samuti "dd flag=direct/sync") kohta on SO-s jutt: http://stackoverflow.com/questions/5055859/how-are-the-o-sync-and-o-direct-flags-in-open2-different-alike