Fio IO性能测试

Posted doscho

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Fio IO性能测试相关的知识,希望对你有一定的参考价值。

fio-2.1.2-1.el5.rf.x86_64

 

介绍

fio is an I/O tool meant to be used both for benchmark and stress/hardware verification. It has support for 13 different types of I/O engines (sync, mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio, and more), I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, and much more. It can work on block devices as well as files. fio accepts job descriptions in a simple-to-understand text format. Several example job files are included. fio displays all sorts of I/O performance information. It supports Linux, FreeBSD, NetBSD, OS X, and OpenSolaris.

 

 

1. sync:       Basic read(2) or write(2) I/O. fseek(2) is used to position the I/O location.
2. psync:   Basic pread(2) or pwrite(2) I/O.
3. vsync:      Basic readv(2) or writev(2) I/O. Will emulate queuing by coalescing adjacents ios into a single submission.
4. libaio:     Linux native asynchronous I/O.
5. posixaio:   glibc POSIX asynchronous I/O using aio_read(3) and aio_write(3).
6. mmap:       File is memory mapped with mmap(2) and data copied using memcpy(3).
7. splice:   splice(2) is used to transfer the data and vmsplice(2) to transfer data from user-space to the kernel.
syslet-rw: Use the syslet system calls to make regular read/write asynchronous.
sg:SCSI generic sg v3 I/O.
net : Transfer over the network. filename must be set appropriately to `host/port’ regardless of data direction. If receiving,
only the port argument is used.
netsplice: Like net, but uses splice(2) and vmsplice(2) to map data and send/receive.
guasi The GUASI I/O engine is the Generic Userspace Asynchronous Syscall Interface approach to asycnronous I/O.

 

fio:

No jobs(s) defined

fio-2.1.2
fio [options] [job options] <job file(s)>
  --debug=options    Enable debug logging. May be one/more of:
            process,file,io,mem,blktrace,verify,random,parse,
            diskutil,job,mutex,profile,time,net
  --parse-only        Parse options only, dont start any IO
  --output        Write output to file
  --runtime        Runtime in seconds
  --latency-log        Generate per-job latency logs
  --bandwidth-log    Generate per-job bandwidth logs
  --minimal        Minimal (terse) output
  --output-format=x    Output format (terse,json,normal)
  --terse-version=x    Set terse version output format to x
  --version        Print version info and exit
  --help        Print this page
  --cpuclock-test    Perform test/validation of CPU clock
  --cmdhelp=cmd        Print command help, "all" for all of them
  --enghelp=engine    Print ioengine help, or list available ioengines
  --enghelp=engine,cmd    Print help for an ioengine cmd
  --showcmd        Turn a job file into command line options
  --eta=when        When ETA estimate should be printed
                    May be "always", "never" or "auto"
  --eta-newline=time    Force a new line for every time period passed
  --status-interval=t    Force full status dump every t period passed
  --readonly        Turn on safety read-only checks, preventing writes
  --section=name    Only run specified section in job file
  --alloc-size=kb    Set smalloc pool to this size in kb (def 1024)
  --warnings-fatal    Fio parser warnings are fatal
  --max-jobs=nr        Maximum number of threads/processes to support
  --server=args        Start a backend fio server
  --daemonize=pidfile    Background fio server, write pid to file
  --client=hostname    Talk to remote backend fio server at hostname
  --idle-prof=option    Report cpu idleness on a system or percpu basis
            (option=system,percpu) or run unit work
            calibration only (option=calibrate)

 

 

常用操作:

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关命令:

  fio2gnuplot.py

  fio_generate_plots

  genfio

 

 

参考:

  https://wenku.baidu.com/view/f450ec2a7375a417866f8f68.html

  http://blog.yufeng.info/archives/677

  http://blog.csdn.net/wyzxg/article/details/7454072

  官网: http://freshmeat.net/projects/fio/

 

以上是关于Fio IO性能测试的主要内容,如果未能解决你的问题,请参考以下文章

如何用sysbench做好IO性能测试

Linux下磁盘IO读写测试工具-FIO详解

服务器存储IO性能测试实践

使用fio测试磁盘I/O性能

使用fio测试磁盘I/O性能

FIO – IO压力测试工具