Testare numar de IOPS-uri in Linux

Am fost curios zilele astea cate IOPS-uri imi duce SSD-ul. Viteza e destul de bunicica, dar eram curios si cate operatii pe secunde poate duce.

Probabil sunt mai multe metode pentru a afla cate IOPS-uri poate un HDD (iostat, htop), dar eu as vrea sa fac un benchmark.

Am folosit comanda fio. Se gaseste in pachetul cu acelasi nume. Am rulat comanda pe SSD si pe un stick USB. (PS: Conteaza si sistemul de fisiere si ioschedueler-ul, pe ext4 am scos mai mult cu ~500 de IOPS-uri fata de btrfs)

fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=testio --filename=testio --bs=4k --iodepth=64 --size=4G --readwrite=randrw --rwmixread=50

 

rwmixread balanseaza scrierile/citirile. 0 inseamna ca nu se va citi de pe disk in momentul benchmark-ului, 100 inseamna ca nu se va scrie.

Un output din timpul bench-ului arata asa:

[17.5% done] [0KB/122.9MB/0KB /s] [0/31.5K/0 iops] [eta 00m:33s]

 

Ce e ingrosat e numarul de IOPS-uri.

Ni se prezinta la final si un ouput mai detaliat:

testio: (groupid=0, jobs=1): err= 0: pid=8787: Sat Feb 27 23:32:40 2016
write: io=680140KB, bw=108631KB/s, iops=27157, runt= 6261msec
cpu : usr=3.26%, sys=36.74%, ctx=53202, majf=0, minf=8
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, >=64=0.0%
issued : total=r=0/w=170035/d=0, short=r=0/w=0/d=0, drop=r=0/w=0/d=0
latency : target=0, window=0, percentile=100.00%, depth=64

Run status group 0 (all jobs):
WRITE: io=680140KB, aggrb=108631KB/s, minb=108631KB/s, maxb=108631KB/s, mint=6261msec, maxt=6261msec

 

Ne intereseaza bucata cu write (sau read) si bucata cu iops, care este media de IOPS-uri.

Putem de asemenea sa vedem numarul de iops-uri in timp real folosind htop sau comanda iostat 1 din pachetul sysstat.

Linux 4.4.0-8-generic (lennix) 27.02.2016 _x86_64_ (2 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle
8,34 0,56 3,89 25,39 0,00 61,82

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 734,05 1853,65 3645,81 7601916 14951688
zram0 0,32 0,55 0,74 2252 3024
zram1 0,38 0,78 0,74 3192 3020
sdd 10,32 18,34 1078,23 75201 4421900

 

Ne intereseaza tps (transactions per second).

About Author:

I look 12, but I'm a 42-year-old investment banker!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.