Erinevus lehekülje "Fio" redaktsioonide vahel

Allikas: Kuutõrvaja
56. rida: 56. rida:
 
võiks olla nii, et direct=1 tähendab juba, et puhvreid ei kasutada ning järelikult võib jätta sync=0
 
võiks olla nii, et direct=1 tähendab juba, et puhvreid ei kasutada ning järelikult võib jätta sync=0
  
'''iodepth=32''' Lubab kõvasti suuremat paraleelsust.
+
'''iodepth=32''' Lubab kõvasti suuremat paraleelsust ja on hea näiteks cephi jms võrgufailisüsteemide testimisel, kus loeb peamiselt paraleelsus.

Redaktsioon: 21. oktoober 2015, kell 12:30

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 konfiguratsioon, mis teeb kokku neli erinevat järjestikust ning random kirjutustesti erinevate bloki suurustega. 1G on failisuurus mille peal teste läbi viiakse ning iga test kestab 5 minutit.

[global]
ioengine=libaio
iodepth=6
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

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=0 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 tehniliselt võiks olla nii, et direct=1 tähendab juba, et puhvreid ei kasutada ning järelikult võib jätta sync=0

iodepth=32 Lubab kõvasti suuremat paraleelsust ja on hea näiteks cephi jms võrgufailisüsteemide testimisel, kus loeb peamiselt paraleelsus.