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/

时间: 2024-07-31 19:01:03

Fio IO性能测试的相关文章

linux系统IO性能测试

dd命令能粗略测试硬盘IO性能,但是执行dd命令测试硬盘IO性能,对硬盘的损害很大,不建议多次或长时间尝试. [[email protected] /]# time dd if=/dev/zero of=/dev/null bs=4k count=256000 256000+0 records in 256000+0 records out 1048576000 bytes (1.0 GB) copied, 0.782804 s, 1.3 GB/s real 0m0.786s user 0m0.

windows系统IO性能测试

关键词:sql server io测试 下载链接:http://www.onlinedown.net/soft/57364.htm CrystalDiskMark(硬盘检测工具),一个测试你的硬盘或者存储设备的小巧工具,简单易于操作的界面让你随时可以测试你的存储设备,测试存储设备大小和测试数字都可以选择,还可测试可读和可写的速度. CrystalDiskMark硬盘检测工具中文版下载 CrystalDiskMark(硬盘检测工具)功能介绍 在CrystalDiskMark界面可以选择测试次数,测

磁盘io性能分析

一,概念 磁盘io,顾名思义就是磁盘的输入输出.即向磁盘写入数据和从磁盘读取数据. I/O 读写的类型,大体上讲,I/O 的类型可以分为: 读 / 写 I/O.大 / 小块 I/O.连续 / 随机 I/O, 顺序 / 并发 I/O.在这几种类型中,我们主要讨论一下:大 / 小块 I/O.连续 / 随机 I/O, 顺序 / 并发 I/O. 1,读 / 写 I/O 磁盘是用来给我们存取数据用的,因此当说到IO操作的时候,就会存在两种相对应的操作,存数据时候对应的是写IO操作,取数据的时候对应的是是读

手把手教你写fio 插件(一)

FIO是一款方便IO性能测试的工具,以统计全面.模式灵活深得用户欢心.当前支持libaio.sync等IO引擎.在存储系统开发中,如何快速快速全面评测系统IO性能?給FIO添加调用存储系统提供的IO的插件,是一个好办法.那么,该怎么添加一个插件呢? 首先,得熟悉几个基本的公共数据结构. fio 插件的公共接口 单任务IO latency/IOPS/BW 统计信息 fio/fio.h: struct thread_data { struct flist_head opt_list; unsigne

sysbench的安装和做性能测试

sysbench的安装和做性能测试 http://imysql.cn/node/312 sysbench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况. 关于这个项目的详细介绍请看:http://sysbench.sourceforge.net. 它主要包括以下几种方式的测试: 1.cpu性能 2.磁盘io性能 3.调度程序性能 4.内存分配及传输速度 5.POSIX线程性能 6.数据库性能(OLTP基准测试) 目前sysbench主要支持 MyS

linux主机vps简单性能测试

第一,CPU.内存.硬盘检测 cat /proc/cpuinfo (查看CPU信息) cat /proc/meminfo (查看内存信息) df -lh (查看硬盘信息) 这个命令可以看到我们购买的VPS CPU信息是否与官方标准一样,有些时候告诉我们的与实际检测的不同. 第二,硬盘IO性能测试 dd if=/dev/zero of=test bs=64k count=4k oflag=dsync dd if=/dev/zero of=test bs=8k count=256k conv=fda

sysbench安装及做性能测试

一.安装过程: 先下载依赖包yum install automake autoconf -y 运行./configure && make 命令,可能有以下的报错../libtool: line 5172: : command not found修改configure.ac文件 将LIBTOOL注释,并增加AC_PROG_RANLIB 修改之后运行如下命令./autogen.sh && ./configure && make完成之后,进入sysbench文件夹

使用sysbench进行cpu/IO/内存/OLTP等基准测试

一.sysbench-0.5安装 软件下载地址:http://download.csdn.net/detail/zqtsx/8368857  或Email至"摘取天上星"获取(本文PDF文档下载地址 http://download.csdn.net/detail/zqtsx/8368939 ) tar zxvf sysbench-0.5tar.gz cd sysbench-0.5 (与其他软件包不同的是解压缩后,默认没有configure文件,所以需要先执行 autogen.sh  文

Docker五种存储驱动原理及应用场景和性能测试对比

Docker最开始采用AUFS作为文件系统,也得益于AUFS分层的概念,实现了多个Container可以共享同一个image.但由于AUFS未并入Linux内核,且只支持Ubuntu,考虑到兼容性问题,在Docker 0.7版本中引入了存储驱动, 目前,Docker支持AUFS.Btrfs.Device mapper.OverlayFS.ZFS五种存储驱动.就如Docker官网上说的,没有单一的驱动适合所有的应用场景,要根据不同的场景选择合适的存储驱动,才能有效的提高Docker的性能.如何选择