FIO User Guide and how to use fio

Source: Internet
Author: User

FIO User Guide and how to use fio
Preface

Fio is a good tool for IOPS testing. It is used for stress testing and verification of hardware. It supports 13 different I/O engines, including sync, mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, and solarisaio.

Test preparation

Tool: fio-Flexible IO Tester

Official Website:

Http://freecode.com/projects/fio

Http://brick.kernel.dk/snaps/

 

Note:: We recommend that you test the performance by writing a bare disk to obtain more real data. However, testing bare disks directly damages the structure of the file system, resulting in data loss. Make sure that the data on the disk is backed up before testing.

CentOS can be directly installed using yum

# Yum install libaio-devel fio # manually install yum install libaio-develwget http://brick.kernel.dk/snaps/fio-2.2.10.tar.gztar-zxvf fio-2.2.10.tar.gzcd fio-2.2.10make $ make install
For gfio, gtk 2.18 (or newer), associated glib threads, and cairo are requiredto be installed. gfio isn't built automatically and can be enabledwith a -- enable-gfio option to configure. example: write fio quota [global] ioengine = libaiobs = 1024Krw = writeramp_time = 6 runtime = 300 direct = 1 iodepth = 16 # rwmixwrite = 20time_based [test] filename =/dev /sdanumjobs = 1 result: test: (g = 0): rw = write, bs = 1 M-1 M/1 M-1 M/1 M-1 M, ioengine = libaio, iodepth = 16fio-2.8Starting 1 processJobs: 1 (f = 1): [W (1)] [100.0% done] [0KB/68198KB/0KB/s] [0/66/0 iops] [eta 00 m: 00 s] test: (groupid = 0, jobs = 1 ): err = 0: pid = 4676: Thu Apr 7 17:22:37 2016 write: io = 20075 MB, bw = 68464KB/s, iops = 66, runt = 300255 msec # How much IO is executed, average bandwidth, thread running time slat (usec): min = 51, max = 5732, avg = 291.11, stdev = 262.47 # clat (usec): min = 1, max = 2235.8 K, avg = 239043.28, stdev = 153384.41 # completion latency lat (usec): min = 367, max = 2235.9 K, avg = 239337.72, stdev = 153389.57 # response time clat percentiles (usec): | 1.00th = [221], 5.00th = [442], 10.00th = [1004], 1000000th = [108032], | 30.00th = [228352], 40.00th = [248832], 50.00th = [257024], 60.00th = [268288], | 70.00th = [280576], 80.00th = [301056], 90.00th = [342016], 95.00th = [477184], | 99.00th = [806912], 99.50th = [864256], 99.90th = [1122304], 99.95th = [1171456], | 99.99th = [1646592] bw (KB/s): min = 170, max = 204800, per = 100.00%, avg = 68755.07, stdev = 27034.84 lat (usec ): 2 = 0.01%, 4 = 0.13%, 50 = 0.06%, 100 = 0.26%, 250 = 1.04% lat (usec): 500 = 4.53%, 750 = 2.61%, 1000 = 1.33% lat (msec ): 2 = 1.18%, 4 = 0.15%, 10 = 0.77%, 20 = 0.77%, 50 = 1.50% lat (msec): 100 = 4.43%, 250 = 23.48%, 500 = 53.23%, 750 = 3.09%, 1000 = 1.30% lat (msec): 2000 = 0.19%,> = 2000 = 0.01% cpu: usr = 0.03%, sys = 2.11%, ctx = 19066, majf = 0, minf = 7 IO depths: 1 = 0.1%, 2 = 0.1%, 4 = 0.1%, 8 = 0.1%, 16 = 103.8%, 32 = 0.0%,> = 64 = 0.0% # io queue submit: 0 = 0.0%, 4 = 100.0%, 8 = 0.0%, 16 = 0.0%, 32 = 0.0%, 64 = 0.0%,> = 64 = 0.0% # The number of I/o complete to be submitted for a single IO commit: 0 = 0.0%, 4 = 100.0%, 8 = 0.0%, 16 = 0.1%, 32 = 0.0%, 64 = 0.0%,> = 64 = 0.0% issued: total = r = 0/w = 20060/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 = 16 # distribution of I/O delays Run status group 0 (all jobs): WRITE: IO = 20075 MB, aggrb = 68464KB/s (total group bandwidth ), minb = 68464KB/s (minimum average bandwidth), maxb = 68464KB/s (maximum average bandwidth), mint = 300255 msec (minimum running time of threads in A group ), maxt = 300255 msec (maximum running time of threads in a group) Disk stats (read/write): sda: ios = 23/41769 (total number of IO operations performed by all groups ), merge = 0/149 (total Number of IO mergers), ticks = 706/9102766 (Number of ticks we kept the disk busy), in_queue = 9105836 (total time spent on the queue ), util = 100.00% (Disk utilization) FAQ: 1. execution reports: No package 'gtk +-2.0 'found, No package 'gthread-2.0' found, configure: gtk and gthread not found A: yum install gtk2-devel2. run fio-name test-runtime = 30-filename =/dev/sda3-ioengine = libaio-direct = 1-bs = 1024 K-iodepth = 16-rw = write-time_based: report: fio:/dev/sda3 appears mounted, and 'Allow _ mounted_write 'isn' t set. aborting. a: sda stress testing

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.