Așa că învârt una dintre aceste cazuri pentru a testa pentru mine. Pașii mei au fost doar puțin diferiți:
- Partiționați discul mai întâi folosind
despărțit
- Faceți sistemul de fișiere
- Montați la
/opta
la fel de /Acasă
era deja acolo și avea directorul principal al utilizatorului meu în (ubuntu
).
apt update && apt upgrade
, apoi instalați fio
- Rulați aceeași comandă ca și dvs.:
fio -direct=1 -iodepth=1 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Rand_Read_Testing
din cadrul /opta
, cu sudo
.
Am obtinut rezultate similare, cu citiți: IOPS=7147
.
Am mai rulat apoi un test:
/opt$ sudo fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=fiotest --filename=testfio --bs=4k --iodepth=64 --size=8G --readwrite=randrw --rwmixread=75
fiotest: (g=0): rw=randrw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
fio-3.16
Începe 1 proces
fiotest: Așezare fișier IO (1 fișier / 8192 MiB)
Locuri de muncă: 1 (f=1): [m(1)][100,0%][r=332MiB/s,w=109MiB/s][r=85,1k,w=28,0k IOPS][eta 00m:00s]
fiotest: (groupid=0, jobs=1): err= 0: pid=26470: Luni 31 ian 09:14:45 2022
citiți: IOPS=91,5k, BW=357MiB/s (375MB/s)(6141MiB/17187msec)
bw ( KiB/s): min=339568, max=509896, per=100,00%, avg=366195,29, stdev=59791,96, mostre=34
iops : min=84892, max=127474, avg=91548.82, stdev=14947.99, mostre=34
scrie: IOPS=30.5k, BW=119MiB/s (125MB/s)(2051MiB/17187msec); 0 zone resetate
bw ( KiB/s): min=111264, max=170424, per=100,00%, avg=122280,71, stdev=20225,33, mostre=34
iops: min=27816, max=42606, avg=30570.18, stdev=5056.32, mostre=34
CPU : usr=19,73%, sys=41,60%, ctx=742611, majf=0, minf=8
Adâncimi IO: 1=0,1%, 2=0,1%, 4=0,1%, 8=0,1%, 16=0,1%, 32=0,1%, >=64=100,0%
trimite: 0=0,0%, 4=100,0%, 8=0,0%, 16=0,0%, 32=0,0%, 64=0,0%, >=64=0,0%
complet: 0=0,0%, 4=100,0%, 8=0,0%, 16=0,0%, 32=0,0%, 64=0,1%, >=64=0,0%
rwts emise: total=1572145,525007,0,0 short=0,0,0,0 dropped=0,0,0,0
latență: țintă=0, fereastră=0, percentilă=100,00%, adâncime=64
Executați grupul de stare 0 (toate joburile):
CITEȘTE: bw=357MiB/s (375MB/s), 357MiB/s-357MiB/s (375MB/s-375MB/s), io=6141MiB (6440MB), rulare=17187-17187msec
SCRIERE: bw=119MiB/s (125MB/s), 119MiB/s-119MiB/s (125MB/s-125MB/s), io=2051MiB (2150MB), rulare=17187-17187msec
Statistici disc (citire/scriere):
nvme1n1: ios=1563986/522310, merge=0/0, ticks=927244/24031, in_queue=951275, util=99,46%
...care arata mult mai bine - citiți: IOPS=91,5k
.
Bănuiesc că se datorează modului în care funcționează testul numai pentru citire? Sau o nuanță de citire a discului pe care vă aflați și o altă limitare?
Mi-am mai rulat testul de câteva ori și am obținut rezultate similare de fiecare dată.
Apoi am rulat un alt test numai în citire folosind comanda de la Aici, și am primit asta:
/opt$ sudo fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=fiotest --filename=testfio --bs=4k --iodepth=64 --size=8G --readwrite=randread
fiotest: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
fio-3.16
Începe 1 proces
Locuri de muncă: 1 (f=1): [r(1)][100,0%][r=332MiB/s][r=85,1k IOPS][eta 00m:00s]
fiotest: (groupid=0, jobs=1): err= 0: pid=26503: Luni 31 ian 09:17:57 2022
citiți: IOPS=88,6k, BW=346MiB/s (363MB/s)(8192MiB/23663msec)
bw ( KiB/s): min=339560, max=787720, per=100,00%, avg=354565,45, stdev=72963,81, mostre=47
iops: min=84890, max=196930, avg=88641.40, stdev=18240.94, mostre=47
CPU : usr=15,37%, sys=31,05%, ctx=844523, majf=0, minf=72
Adâncimi IO: 1=0,1%, 2=0,1%, 4=0,1%, 8=0,1%, 16=0,1%, 32=0,1%, >=64=100,0%
trimite: 0=0,0%, 4=100,0%, 8=0,0%, 16=0,0%, 32=0,0%, 64=0,0%, >=64=0,0%
complet: 0=0,0%, 4=100,0%, 8=0,0%, 16=0,0%, 32=0,0%, 64=0,1%, >=64=0,0%
rwts emise: total=2097152,0,0,0 short=0,0,0,0 dropped=0,0,0,0
latență: țintă=0, fereastră=0, percentilă=100,00%, adâncime=64
Executați grupul de stare 0 (toate joburile):
CITIȚI: bw=346MiB/s (363MB/s), 346MiB/s-346MiB/s (363MB/s-363MB/s), io=8192MiB (8590MB), rulare=23663-23663msec
Statistici disc (citire/scriere):
nvme1n1: ios=2095751/1, merge=0/0, ticks=1468160/0, in_queue=1468159, util=99,64%
Performanță de citire mult mai bună. Bănuiesc că argumentele pe care le-ați dat comanda nu permit testului să obțină cea mai bună performanță de pe disc, poate din cauza dimensiunii blocului, dimensiunii fișierului etc. Am observat că toate erau argumente cu o singură liniuță (de ex. -bs=4k
) nu dublu (--bs=4k
), așa că s-ar putea să nu fie analizate corect...