• 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, don't 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/

  • 相关阅读:
    接口性能测试方案
    如何选择自动化测试框架
    一维和二维前缀和
    高精度 加减乘除
    归并排序 快速排序
    链表
    二分查找
    表达式求值
    c++ const问题小记
    虚继承总结
  • 原文地址:https://www.cnblogs.com/doscho/p/6914127.html
Copyright © 2020-2023  润新知