找回密码
 注册
查看: 734|回复: 7

fio测试IO工具

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-6-20 11:37:25 | 显示全部楼层 |阅读模式
fio测试IO工具

$ ~# w$ o" _  M0 G0 R+ q  U$ c
下载地址:
% j3 m, s6 ]2 g6 ~
  s, F' `9 O3 C2 _

% A. [+ h# H- n. A* c" Z' [; N
! t7 o. T# q" S: K4 M4 s
: Y( B8 B. V3 T
2 T; R4 E# M) i8 W
fio-2.1.10.tar.gz

" x  g' R. R& K* s

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-6-20 11:49:00 | 显示全部楼层
[root@testssd ~]# tar -zxvf fio-2.1.10.tar.gz     解压fio! I8 X) M8 Z  @8 E4 H
fio-2.1.10/' D' R2 ]1 s) s, K! _# x
2 L5 [" t) o0 |0 Q$ H" C0 p
安装gcc gcc-c++  make ' G4 w9 T( ^  t+ M* q7 U; l
# yum install -y gcc gcc-c++ make
2 {+ [- P* V2 `' ^5 Q

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-6-20 13:42:09 | 显示全部楼层
[root@test1hhd fio-2.1.10]# ./configure ( C& c$ l9 B$ E! a; r) ?
Operating system              Linux: y# A+ |7 @8 x' h7 U
CPU                           x86_645 C! Q1 `2 R. c
Big endian                    no
  C: R6 N% Q0 n! A3 M% G2 BCompiler                      gcc
+ K! |& n; W1 B6 e6 ?Cross compile                 no
+ m1 X0 v% v/ J" Y; @# A
, j5 X9 e7 q+ y( B! s+ FWordsize                      64
: P, K# A8 O% r6 X! W) M" c& Z$ qzlib                          no5 p8 ~: D% j: T: A6 G
Linux AIO support             no1 e6 u8 W3 Y6 n
POSIX AIO support             yes3 B6 e& p9 G; O7 l; I* Z
POSIX AIO support needs -lrt  yes
- x5 h! m7 G6 rPOSIX AIO fsync               yes
. ?5 s8 r% V. a( y3 ESolaris AIO support           no5 z- f  @- g8 r% R: f) Y, W2 b! M
__sync_fetch_and_add          yes
. m, B- m1 ^+ D/ K! [5 n4 ]libverbs                      no6 M4 Z9 I5 w* r4 w8 G
rdmacm                        no
/ A9 p! ]2 @& w/ `# wLinux fallocate               yes
! A' o. T0 l, B8 fPOSIX fadvise                 yes
( b2 L. h% c! m  |# D0 @POSIX fallocate               yes% R+ C# }0 i- }6 e8 V2 e4 e* ]' u
sched_setaffinity(3 arg)      yes5 i% ]* X0 M2 D$ Z7 i+ n4 M
sched_setaffinity(2 arg)      no
7 h9 K# ^( m: y( q& [3 p9 ]( ~% bclock_gettime                 yes
7 V# p% s4 Y, qCLOCK_MONOTONIC               yes' O$ U( Z2 A) y6 d! r
CLOCK_MONOTONIC_PRECISE       no
( ]6 W* l# b# cgettimeofday                  yes
8 p7 m8 T8 E9 I- r7 A% a  Ffdatasync                     yes
2 y" q& Q7 \* A8 ?" Hsync_file_range               yes$ w$ ~1 @* K  f; w' o# D
EXT4 move extent              yes, a  C- G% O' N3 B& P
Linux splice(2)               yes
0 ?2 ]& w# A4 D; t9 l- gGUASI                         no. S, Q2 j& Q. A
Fusion-io atomic engine       no0 c4 N9 }! h! D1 V
libnuma                       no
' B$ N" G! m& l# Q. t% dstrsep                        yes- V, t7 A. x, ^  k/ [" |
strcasestr                    yes
* B4 E& t$ g& i/ Egetopt_long_only()            yes: C- y6 N8 F5 t; y
inet_aton                     yes
* t, X0 K  E* g! G2 Dsocklen_t                     yes7 C0 V( ?+ O, A
__thread                      yes# H+ a+ ~  O4 l5 u
gtk 2.18 or higher            no
# I6 E8 t& M9 ~) I+ F0 o& V% E" uRUSAGE_THREAD                 yes" F7 |; z- B8 C" m! e. a/ i
SCHED_IDLE                    yes* u. T; K) u: \' k
TCP_NODELAY                   yes
9 [4 f$ [% B. f7 p3 r  X' }# W6 g+ zRLIMIT_MEMLOCK                yes
0 O% L, i/ g$ M3 G- Xpwritev/preadv                yes2 w1 _% `( N' _1 p  F1 }
IPv6 helpers                  yes
1 h& u" ?6 N3 E3 t3 m* p, o& PRados Block Device engine     no) L4 X" I, Y( x: |8 ^4 {7 M, g7 y
setvbuf                       yes
3 s; j. n; L( \# k4 R) ~) @" r+ TGluster API engine            no' I4 K" F- Z# T
Gluster API use fadvise       no
/ i4 M. A, ^. Z9 js390_z196_facilities          no

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-6-20 13:46:01 | 显示全部楼层
[root@test1hhd fio-2.1.10]# make & o6 r0 X' L9 v5 Z9 n, Z
FIO_VERSION = fio-2.1.10! u9 {4 G+ M5 |
    CC gettime.o
" h( e: w+ s; x/ k( ?    CC ioengines.o+ F! w% e0 R& O( }' ]
    CC init.o1 |( q. T" u8 Z7 v) k
    CC stat.o# W  D; y0 g6 Y9 n. n
    CC log.o) K0 K8 g3 S+ R: C- U: G
    CC time.o
# p3 Q! y2 k9 W: @/ f    CC filesetup.o+ G" U. Y8 ?) K, W  h
    CC eta.o
; |. `7 I5 U& U$ w0 D    CC verify.o
' z8 A; C0 H% C$ g! ^    CC memory.o) G) R* A% N/ i6 g
    CC io_u.o
, ~5 K% o' h. m& X+ Q; q7 V$ A    CC parse.o* e7 N! G9 g- O6 J+ k7 B
    CC mutex.o9 Q6 }; P: P! w0 W( M8 a+ R
    CC options.o
8 j! ?1 ^$ E6 V9 m    CC lib/rbtree.o  Z( R# k2 r5 W& p# R* p
    CC smalloc.o
! ~4 O. c& l  s" P% A) N    CC filehash.o5 ^; r- h' G7 s
    CC profile.o3 m) d  U5 c4 [
    CC debug.o
6 T2 q4 r+ r2 V! e) x0 b2 q    CC lib/rand.o  ~% }) @: n3 \6 s- N' Q4 h
    CC lib/num2str.o) L) U0 u% O" A6 A
    CC lib/ieee754.o
# h# t6 G0 K' E, D    CC crc/crc16.o
1 _( J; J& z8 k# q3 j; t; S! b    CC crc/sha512.o
5 p3 O; Y" c/ z/ ]8 N    CC crc/crc7.o7 V2 K! u- _0 c; {$ x' Y* M
    CC crc/sha1.o
$ ?0 M3 ^% X+ s0 m    CC crc/crc32c.o
6 ]6 [/ ^1 J* ~, C5 ?& q" s, g, {( W8 C    CC crc/crc32.o3 \% ~3 f3 A( `! f( n8 H* C
    CC crc/crc32c-intel.o
  F  Y. b1 ^* a( ]    CC crc/xxhash.o7 z4 m0 n# t1 S& a* Y
    CC crc/test.o
! _* ]" i9 |) b$ B& q3 D& K6 F    CC crc/sha256.o5 Y# G' A7 R0 w& ?7 P9 K
    CC crc/md5.o
- c0 B+ D9 i  ?    CC crc/crc64.o. d6 ~7 z0 K5 v8 W4 t. ]
    CC engines/cpu.o
: _! V! N1 c5 s8 D1 x4 M    CC engines/mmap.o
3 V4 A# g, s0 L( o) r    CC engines/sync.o
+ Q, ^8 }. V; m) F, u    CC engines/null.o* ^+ I6 N4 c5 ^  i
    CC engines/net.o
+ M$ f8 l! E' o0 D    CC memalign.o/ ?. h& k- ~& o! Q0 U0 R9 k
    CC server.o
9 ]$ _& H' f" ^    CC client.o8 m# b0 X0 ?7 Z9 A+ z* ~& u
    CC iolog.o$ ~- i1 @' ?' r
    CC backend.o8 E1 J9 W) j2 ]4 d" t
    CC libfio.o/ k. f. z1 |5 x
    CC flow.o
* B8 h/ [1 y6 L; O9 t6 {  _    CC cconv.o$ o8 t8 x3 P) M- F0 o
    CC lib/prio_tree.o' M- I6 e, w& q' V
    CC json.o2 k  ~5 I) {/ H- }  L
    CC lib/zipf.o
7 J4 o& }% u' V    CC lib/axmap.o: f' d6 u# P$ E& V) X' V9 D
    CC lib/lfsr.o$ G4 c; N. ~5 k
    CC gettime-thread.o
8 z% E) ~% u8 |0 V5 }, G' t    CC helpers.o
9 z4 Q5 h" }0 G0 j    CC lib/flist_sort.o2 b, E9 v' S. x
    CC lib/hweight.o
1 E6 I! S: H+ ~% i' S% a+ D6 l6 S    CC lib/getrusage.o/ {6 e9 \( w. L, t1 S/ r7 O
    CC idletime.o
) p9 {) k7 [# G6 L    CC td_error.o
9 P* m) w+ P  D  L* s* z    CC profiles/tiobench.o
# \- U, V6 u) {' Z# `& |8 b    CC profiles/act.o& j- a. ~- n) Z8 Q. y  c! h$ B
    CC io_u_queue.o" X7 r8 w& h' A
    CC filelock.o
! ^' }0 v" L$ G4 o: I0 J9 E' ^    CC engines/posixaio.o5 ^6 M. X4 R4 g; k2 q- J* }1 }
    CC engines/falloc.o8 z& o+ o* i: H* o% ~- @) @  c
    CC engines/e4defrag.o, p2 q5 \" ?& s9 O! a+ \
    CC engines/splice.o
) |8 S7 s8 F- s% \( U    CC diskutil.o
' P# W" N+ J2 H- y    CC fifo.o
- U) o) G4 N5 f, L/ ~    CC blktrace.o
; y9 y# Q2 `: ?( \4 k    CC cgroup.o. Z$ L- V4 T' i7 K* b$ W, `
    CC trim.o
8 m- C3 Z) {4 [. C- j+ h    CC engines/sg.o
. O2 P9 j% V) \; A" a0 h    CC engines/binject.o
/ n- L& B) R: U- ~! w8 h    CC fio.o9 Z) o4 B" N$ h" V; D7 O% ^6 i" V5 ~6 j
    LINK fio
* ]0 ^' C; B0 O9 y[root@test1hhd fio-2.1.10]#  make install ! u- ?2 p" |% m) O' C
install -m 755 -d /usr/local/bin8 |* K1 i* h1 U1 Y* b$ p7 Y8 l8 z
install fio tools/fio_generate_plots tools/plot/fio2gnuplot tools/genfio /usr/local/bin
* J$ b$ f) J1 D& Q2 Q* z- i/ Dinstall -m 755 -d /usr/local/man/man1
& n+ V) _1 ^4 y3 L1 Winstall -m 644 fio.1 /usr/local/man/man1+ n) ^+ w7 S( X5 d9 A, Y
install -m 644 tools/fio_generate_plots.1 /usr/local/man/man1
0 ~0 {8 a3 B- [5 [6 D) V8 Binstall -m 644 tools/plot/fio2gnuplot.1 /usr/local/man/man1
) ?# p, n! v- `  }3 K& Rinstall -m 755 -d /usr/local/share/fio
% Y1 Z& l! _# g: Binstall -m 644 tools/plot/*gpm /usr/local/share/fio/

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-6-20 13:51:38 | 显示全部楼层
[root@test1hhd ~]# fio -filename=/dev/vda  -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=4k -size=1000G -numjobs=50 -runtime=180 -group_reporting -name=rand_100read_4k2 D8 ]: O* r  d/ b' E& U1 U; n0 t$ c
rand_100read_4k: (g=0): rw=randread, bs=4K-4K/4K-4K/4K-4K, ioengine=psync, iodepth=1
: A0 _! l, I: l# x...4 ^1 m, b3 T  F
fio-2.1.101 c- l2 q/ c8 G) X$ J
Starting 50 threads
" h9 X+ M/ c& y2 hJobs: 50 (f=50): [rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr] [11.0% done] [12671KB/0KB/0KB /s] [3167/0/0 iops] [eta 02m:41sJobs: 50 (f=50): [rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr] [11.6% done] [14601KB/0KB/0KB /s] [3650/0/0 iops] [eta 02m:40sJobs: 50 (f=50): [rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr] [12.2% done] [7948KB/0KB/0KB /s] [1987/0/0 iops] [eta 02m:39s]Jobs: 6 (f=6): [___rr___r_________________r__________________r___r] [2.2% done] [163KB/0KB/0KB /s] [40/0/0 iops] [eta 02h:12m:01s]] 5 D4 d2 O/ z7 [  \( U- ]
rand_100read_4k: (groupid=0, jobs=50): err= 0: pid=19880: Mon Jun 20 13:42:03 2022
1 _: U7 Q/ H' J6 H5 w$ J7 s  read : io=840436KB, bw=4634.1KB/s, iops=1158, runt=181327msec
& Y. R: m" P2 z8 M- l" ?    clat (usec): min=308, max=3703.3K, avg=42907.91, stdev=175774.032 s; Q# i: D2 T/ m/ _% E
     lat (usec): min=308, max=3703.3K, avg=42908.22, stdev=175774.049 ~9 a$ R6 x: C) @! K* G- H, p. L
    clat percentiles (usec):4 f5 P* J9 l; a: x1 b5 F" R1 v
     |  1.00th=[  402],  5.00th=[  450], 10.00th=[  482], 20.00th=[  532],  {, E6 f& F! f
     | 30.00th=[  572], 40.00th=[  612], 50.00th=[  684], 60.00th=[ 1688],& m9 k# @. D, o) L0 B9 J1 d8 v
     | 70.00th=[ 7776], 80.00th=[30848], 90.00th=[93696], 95.00th=[195584],
' ^( j. W8 R9 |0 j3 Q& b  y$ E     | 99.00th=[700416], 99.50th=[1335296], 99.90th=[2473984], 99.95th=[2867200],4 _- O% e% v/ H5 H, g
     | 99.99th=[3293184]
( y( U+ X& {$ R  \    bw (KB  /s): min=    1, max=  810, per=2.59%, avg=119.98, stdev=103.34$ T! F1 g1 {3 L! D, _
    lat (usec) : 500=13.52%, 750=41.62%, 1000=3.46%% U+ H. o: D0 b* ~0 {7 \5 @
    lat (msec) : 2=1.79%, 4=4.13%, 10=6.84%, 20=4.77%, 50=8.64%
' z. o% ]5 _3 r* ^    lat (msec) : 100=5.68%, 250=5.93%, 500=2.12%, 750=0.58%, 1000=0.24%
' p2 ~% c" h% a2 i) x" d7 B% z    lat (msec) : 2000=0.49%, >=2000=0.20%
. e" {1 ?1 c. q9 q  cpu          : usr=0.04%, sys=0.06%, ctx=210142, majf=0, minf=592 T0 B" Q4 m  i
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%& x. |, K+ P7 v& m. v  n& L
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%; S. w( f& p) N# U
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
$ u6 e2 S5 \3 Z6 o0 L     issued    : total=r=210109/w=0/d=0, short=r=0/w=0/d=0
. R' ~5 ]$ {- }0 A     latency   : target=0, window=0, percentile=100.00%, depth=18 ?0 n3 G9 N. M! _
9 \# Z' E& u& \6 h& e" `7 S. V
Run status group 0 (all jobs):
+ f0 Z$ G7 L7 `% v/ t$ ^- \   READ: io=840436KB, aggrb=4634KB/s, minb=4634KB/s, maxb=4634KB/s, mint=181327msec, maxt=181327msec
' j" W. _' q$ ^/ H( w) N/ |& T' f0 t$ x9 J% j5 U* R
Disk stats (read/write):
8 f2 O: Q4 f( {/ f  vda: ios=210103/28, merge=0/2, ticks=8996207/20602, in_queue=8914609, util=98.70%

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-6-20 14:13:58 | 显示全部楼层
fio -filename=/dev/vda  -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=4k -size=1000G -numjobs=50 -runtime=180 -group_reporting -name=rand_100read_4k) p$ o; x, s5 F7 P0 C5 b
fio -filename=/dev/vda -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=4k -size=1000G -numjobs=50 -runtime=180 -group_reporting -name=rand_100write_4k/ A! K$ {" q# B% h
, O; P& k% u4 ]( p
fio -filename=/dev/vda -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=4k -size=1000G -numjobs=50 -runtime=180 -group_reporting -name=sqe_100read_4k
; t! a& ^% r) E9 n7 U$ B
7 M/ k* H: x- {6 z
8 F! _) k  v; ]( C1 H
测试场景:
  100%随机,100%读, 4K
, l! w/ l1 e$ p! p  fio -filename=/dev/vda -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=4k -size=1000G -numjobs=50 -runtime=180 -group_reporting -name=rand_100read_4k
  100%随机,100%写, 4K
% F. Z) l3 t, P6 a  fio -filename=/dev/vda -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=4k -size=1000G -numjobs=50 -runtime=180 -group_reporting -name=rand_100write_4k
  100%顺序,100%读 ,4K+ `- `" Z" U- M( I( m) f
  fio -filename=/dev/vda -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=4k -size=1000G -numjobs=50 -runtime=180 -group_reporting -name=sqe_100read_4k
  100%顺序,100%写 ,4K- }7 Q) q! m1 K( w, O
  fio -filename=/dev/vda -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=4k -size=1000G -numjobs=50 -runtime=180 -group_reporting -name=sqe_100write_4k
  100%随机,70%读,30%写 4K; W, t, I' i$ i$ E1 `3 X) w7 Z
  fio -filename=/dev/vda -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=4k -size=1000G -numjobs=50 -runtime=180 -group_reporting -name=randrw_70read_4k

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-6-20 14:32:51 | 显示全部楼层
[root@testssd ~]# fio -ioengine=libaio -bs=16k -direct=1 -thread -rw=read -size=1G -filename=test.img -name="test" -iodepth=1 -time_based -runtime=60 -numjobs=16 -group_reporting
8 m' [9 u2 B/ ^: Y0 Xfio: engine libaio not loadable1 A- G. m# F) p
fio: failed to load engine libaio
! k& ]! C$ L& C! k( B; \* B- O[root@testssd ~]# fio -filename=/dev/vda -ioengine=libaio -bs=16k -direct=1 -thread -rw=read -size=1G -filename=test.img -name="test" -iodepth=1 -time_based -runtime=60 -numjobs=16 -group_reporting
) ^5 w1 \: P) n6 Jfio: engine libaio not loadable
) ]4 K% T) H% C$ B5 Q' T# W( bfio: failed to load engine libaio, J# }1 M, @4 V* D3 J# J
[root@testssd ~]# fio -filename=/dev/vda  -bs=16k -direct=1 -thread -rw=read -size=1G -filename=test.img -name="test" -iodepth=1 -time_based -runtime=60 -numjobs=16 -group_reporting
1 M" e0 e9 H5 V( Q2 J; d4 ctest: (g=0): rw=read, bs=16K-16K/16K-16K/16K-16K, ioengine=sync, iodepth=1
& W- `: J7 B6 ^- H2 t...
. t6 G& e7 h* k9 G& `4 vfio-2.1.10
7 Y# f8 S3 T; M" G0 `9 \3 G( uStarting 16 threads: T9 }# W/ M! y" s
test: Laying out IO file(s) (1 file(s) / 512MB)
+ G; @+ O+ W+ u; w# @: lJobs: 16 (f=32): [RRRRRRRRRRRRRRRR] [100.0% done] [141.7MB/0KB/0KB /s] [9027/0/0 iops] [eta 00m:00s]
3 C! C, s3 E0 ktest: (groupid=0, jobs=16): err= 0: pid=21845: Mon Jun 20 14:19:25 2022
5 b5 W& {, M7 H! r: y" ^: @! f7 y  read : io=8328.9MB, bw=142137KB/s, iops=8883, runt= 60004msec' O" r' q2 k8 q- n
    clat (usec): min=215, max=62700, avg=1798.77, stdev=1583.64$ R* p6 v+ E0 l1 c
     lat (usec): min=215, max=62700, avg=1798.97, stdev=1583.659 `: T5 Q6 r% B3 p8 f
    clat percentiles (usec):
& w! ]9 M) w  ]' ~# f  e     |  1.00th=[  306],  5.00th=[  362], 10.00th=[  458], 20.00th=[  724],
& t  ^7 P. }) P# q- r+ {2 k     | 30.00th=[ 1096], 40.00th=[ 1640], 50.00th=[ 1864], 60.00th=[ 2024],
0 M9 X, o9 v: E( s0 L     | 70.00th=[ 2224], 80.00th=[ 2320], 90.00th=[ 2608], 95.00th=[ 2928],
( ]3 d$ X! Z* Y8 w: c     | 99.00th=[ 6944], 99.50th=[10432], 99.90th=[22656], 99.95th=[26240],
0 T1 |- v2 e5 z4 V. \/ u# F     | 99.99th=[34560]
! t3 H- N5 L2 G# J0 j    bw (KB  /s): min= 2331, max=19523, per=6.25%, avg=8879.79, stdev=3417.38
4 R4 z+ d. J# y: K' z+ q8 c    lat (usec) : 250=0.01%, 500=11.32%, 750=9.70%, 1000=7.54%
3 \! z" }2 N1 @2 A3 Q  R( P    lat (msec) : 2=30.34%, 4=39.02%, 10=1.53%, 20=0.39%, 50=0.14%
* Q' t  W: I, ?+ X    lat (msec) : 100=0.01%
# ?) G7 m' W$ ]" @  m; n  cpu          : usr=0.29%, sys=1.34%, ctx=533068, majf=0, minf=82
. p9 ^6 b  f* L. i) }  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
5 q" f" x; I" n9 t8 V9 L: L     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%8 S4 V7 A% t  ~) E4 t1 [
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%/ d3 F9 p5 E+ |* }5 x1 [* `
     issued    : total=r=533048/w=0/d=0, short=r=0/w=0/d=05 m1 j9 v9 d* t# ~' _
     latency   : target=0, window=0, percentile=100.00%, depth=1
6 I0 Y( p5 X8 V3 T3 L) x' Y5 c+ @! G' n+ ^6 g, A$ L" P
Run status group 0 (all jobs):
2 [/ y0 {/ Z# ~   READ: io=8328.9MB, aggrb=142136KB/s, minb=142136KB/s, maxb=142136KB/s, mint=60004msec, maxt=60004msec
' k' H0 m2 u2 C( Z4 H! j& S' w9 k3 ?* u; a! m- R, I# h/ K
Disk stats (read/write):8 M' }+ k8 G0 u6 }6 q$ H4 \
  vda: ios=529229/11, merge=784/1, ticks=938227/67, in_queue=936843, util=99.83%
5 ]# |- e9 }5 k. J; S  dm-0: ios=265320/10, merge=0/0, ticks=475542/77, in_queue=476458, util=98.64%
! H8 _+ O, N  Q; [% G$ I# W[root@testssd ~]# fio   -bs=16k -direct=1 -thread -rw=read -size=1G -filename=test.img -name="test" -iodepth=1 -time_based -runtime=60 -numjobs=16 -group_reporting
* n% G7 D) T+ ]# y3 V0 E  ftest: (g=0): rw=read, bs=16K-16K/16K-16K/16K-16K, ioengine=sync, iodepth=1
: o; {, q' r' S$ ~* G...
; X. S& R, @4 K, L9 E6 kfio-2.1.10$ |4 C" {+ U: v0 H7 b$ M- i  a3 r
Starting 16 threads
8 ?( C/ j9 f8 u& E  |# [test: Laying out IO file(s) (1 file(s) / 1024MB)
( w1 Y! n+ i' PJobs: 16 (f=16): [RRRRRRRRRRRRRRRR] [100.0% done] [139.3MB/0KB/0KB /s] [8914/0/0 iops] [eta 00m:00s]
- r' |, D. I& \$ Z$ X2 r/ O) g* [test: (groupid=0, jobs=16): err= 0: pid=21868: Mon Jun 20 14:23:39 20220 w- Y' B0 w: W1 K3 L) c0 O
  read : io=8815.7MB, bw=150436KB/s, iops=9402, runt= 60003msec+ x, X0 a3 f5 m5 E% v) l
    clat (usec): min=255, max=44491, avg=1695.99, stdev=1232.95
0 j2 h3 ?$ {6 M7 D6 h! H! [     lat (usec): min=255, max=44492, avg=1696.20, stdev=1232.95. U9 d$ r, C2 L, j* g
    clat percentiles (usec):
1 i0 `5 Q- v( e# E0 V     |  1.00th=[  426],  5.00th=[  532], 10.00th=[  636], 20.00th=[  820],- Q0 `/ |; P) e7 z9 l8 E, s
     | 30.00th=[  948], 40.00th=[ 1176], 50.00th=[ 1688], 60.00th=[ 2192],
: \4 ^" K+ f6 ?- y/ P7 Y# G     | 70.00th=[ 2256], 80.00th=[ 2288], 90.00th=[ 2448], 95.00th=[ 2832],
% {$ @% ]5 f2 t3 |  E$ t     | 99.00th=[ 4960], 99.50th=[ 7968], 99.90th=[15808], 99.95th=[21120],9 U( {% {3 W! `4 `) j4 Y( c
     | 99.99th=[31360]/ m- |! d# m; {) R( i
    bw (KB  /s): min= 3937, max=24768, per=6.26%, avg=9414.93, stdev=3580.204 e2 y: D1 X; o
    lat (usec) : 500=3.42%, 750=12.21%, 1000=17.97%9 ?5 c, [: v/ t: B1 ~8 r
    lat (msec) : 2=21.95%, 4=43.18%, 10=0.98%, 20=0.22%, 50=0.06%- Z4 v! b- X- B) j% f' l
  cpu          : usr=0.28%, sys=1.52%, ctx=564232, majf=0, minf=82. X! @1 A) n. G2 I7 k* j
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
: f7 o) J4 K! M. r$ x+ G     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%, W  y8 X9 x0 M- P" P/ s/ o
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%) `) t# ^5 p* q  a  j& o- N
     issued    : total=r=564164/w=0/d=0, short=r=0/w=0/d=0: ?5 b" F0 N$ |1 Q0 Y) O) b
     latency   : target=0, window=0, percentile=100.00%, depth=1
6 @3 Z. p- y* T/ I0 L/ l, Y  T& u6 e' F) M# {4 E4 S' ~6 H
Run status group 0 (all jobs):9 S+ w' \& v) j+ c8 ^. G$ X' u
   READ: io=8815.7MB, aggrb=150436KB/s, minb=150436KB/s, maxb=150436KB/s, mint=60003msec, maxt=60003msec
4 g4 K/ Y3 W4 m8 v
: X2 E0 R) z" k) |4 p" R9 cDisk stats (read/write):% |# O) H1 ?& |7 c% H! ~% p* z
    dm-0: ios=563996/9, merge=0/0, ticks=941286/41, in_queue=942042, util=99.74%, aggrios=562960/10, aggrmerge=899/1, aggrticks=939104/36, aggrin_queue=938630, aggrutil=99.65%
2 p. r2 q& G9 G$ K/ I; Z  vda: ios=562960/10, merge=899/1, ticks=939104/36, in_queue=938630, util=99.65%
) K6 i4 A3 w- R- t' j[root@testssd ~]#

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-6-30 09:18:07 | 显示全部楼层
测试延迟
/ P! W9 m- f. ~) S
' ]& {, l9 X- ^​ 队列深度为1,bs设置为4k,也就是模拟单个队列读写的延迟测试
5 F6 k3 z& h) x5 ^& w% D% U2 X& d$ H# ]! f4 R: B/ M
吞吐
$ n8 P0 j# |: M# I; ~9 X7 ]6 e: B# K: W6 _9 m1 ~
​ 队列深度为32,bs设置为128k,测试最大能力去跑满整个磁盘带宽/ c4 g, k# ~/ N/ ~: H: }+ H4 x
* e" N$ Q: t3 K+ m; U; q' R
iops
1 p% [8 D4 o: B: f
3 ?$ z' o1 a1 J2 h- [& }; e​ 队列深度为32,bs设置为4k,要在最短的时间内多去读磁盘
; J: Z0 X! w  k2 G4 f' Z6 \
0 S0 o2 m' V7 }% C小文件通常测试随机读写,大文件通常测试顺序读写。
  W0 D' t; D9 d* @& ~! V  Q6 E1 G, ~, M7 @/ B
测试顺序读IOPS& N( G% v% w. e0 I. I

. F. J" g( x3 f6 D2 F( f9 T7 t- Mfio -name=Seq_Read_IOPS_Test -group_reporting -direct=1 -iodepth=128 -rw=read -ioengine=libaio -refill_buffers -norandommap -randrepeat=0 -bs=4k -size=10G -numjobs=1 -runtime=600 -filename=/dev/[device]
7 T3 r+ E. `: y& D3 N  ~测试顺序写IOPS
% J) S5 w' B( k( E5 ?: n/ x
3 b0 [) Y! b$ ]( k7 V8 w  ^fio -name=Seq_Write_IOPS_Test -group_reporting  -direct=1 -iodepth=128 -rw=write -ioengine=libaio -refill_buffers -norandommap -randrepeat=0 -bs=4k -size=10G -numjobs=1 -runtime=600 -filename=/dev/[device] * R. D1 K1 B, Z) q4 R
测试随机写IOPS
! @- t5 v. U( S8 O
3 o) o8 M' n1 z' Tfio -name=Rand_Write_IOPS_Test -group_reporting -direct=1 -iodepth=128 -rw=randwrite -ioengine=libaio -refill_buffers -norandommap -randrepeat=0 -bs=4k -size=10G -numjobs=1 -runtime=600 -filename=/dev/[device]
- v! ^1 t$ L: ?& I/ Y测试随机读IOPS' ~+ a% `5 c5 f1 ^' f* w
2 r+ n- {# Q$ q! B' D/ N7 q
fio -name=Rand_Read_IOPS_Test -group_reporting -direct=1 -iodepth=128 -rw=randread -ioengine=libaio -refill_buffers -norandommap -randrepeat=0 -bs=4k -size=10G -numjobs=1 -runtime=600 -filename=/dev/[device] ( k) n2 ?# R6 G' _
测试混合读写/ V# b/ b- _7 z) k

* x4 T1 }% c2 H: d$ n1 ?, dfio -name=Read_Write_IOPS_Test -group_reporting -direct=1 -iodepth=128 -rw=randrw -rwmixread=70 -refill_buffers -norandommap -randrepeat=0 -ioengine=libaio -bs=4k -size=10G -numjobs=1 -runtime=600 -ioscheduler=noop
; u/ F- Y7 `" N" z( V- t测试写吞吐量
' K7 L! ~2 V# A* V% k
& }" ^% t* b1 S. w" ^fio -name=Write_BandWidth_Test -group_reporting -direct=1 -iodepth=32 -rw=write -ioengine=libaio -refill_buffers -norandommap -randrepeat=0 -bs=1024k -size=10G -numjobs=1 -runtime=600 -filename=/dev/[device]
) p5 L6 j' ^9 K% @3 D( f+ c测试读吞吐量' Z* }& |. ^. o7 F4 w

  L3 w  O8 }9 g, q" _+ Q/ P9 rfio -name=Read_BandWidth_Test -group_reporting -direct=1 -iodepth=32 -rw=read -ioengine=libaio -refill_buffers -norandommap -randrepeat=0 -bs=1024k -size=10G -numjobs=1 -runtime=600 -filename=/dev/[device]
$ L: _, ~$ K( n9 A测试结果输出指标
  `( q5 W7 j, p7 l4 DIOPS:每秒读/写次数,单位为次(计数)。存储设备的底层驱动类型决定了不同的 IOPS。 --> iops: ]! n$ e  @* s2 ]
吞吐量:每秒的读写数据量,单位为MB/s。 --> bw- P% L# |0 t: D
时延:I/O 操作的发送时间到接收确认所经过的时间,单位为秒。 --> lat (msec)  l9 z& p9 b! {4 Q
runt:总运行时间
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 03:01 , Processed in 0.041376 second(s), 29 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表