iozone的参数说明应该这样排列

 

iozone 

man iozone


1. 输出格式

       -R     Generate  Excel  report.   Iozone  will  generate an Excel compatible report to
              standard out. This file may be imported with Microsoft Excel (space  delimited)
              and  used  to create a graph of the filesystem performance. Note: The 3D graphs
              are column oriented. You will need to select this when graphing as the  default
              in Excel is row oriented data.
       -b filename
              Used  to specify a filename that will be used for output of an Excel compatible
              file that contains the results.
       -M     Iozone will call uname() and will put the string in the output file.
2. 基本参数

       -a     Used to select full automatic mode. Produces output that covers all tested file
              operations for record sizes of 4k to 16M for file sizes of 64k to 512M.
       -i #   Used to specify which tests to run. (0=write/rewrite, 1=read/re-read, 2=random-
              read/write, 3=Read-backwards,  4=Re-write-record,  5=stride-read,  6=fwrite/re-
              fwrite,  7=fread/Re-fread,  8=mixed  workload, 9=pwrite/Re-pwrite, 10=pread/Re-
              pread, 11=pwritev/Re-pwritev, 12=preadv/Re-preadv).  One will  always  need  to
              specify  0  so  that  any  of  the following tests will have a file to measure.
              -i # -i # -i # is also supported so that one may select more than one test.
       -s #   Used  to specify the size, in Kbytes, of the file to test. One may also specify
              -s #k (size in Kbytes) or -s #m (size in Mbytes) or -s #g (size in Gbytes).
       -g #   Set maximum file size  (in Kbytes) for auto mode. One  may  also  specify  -g #k
              (size  in  Kbytes)  or -g #m (size in Mbytes) or -g #g (size in Gbytes). See -n
              for minimum file size.
       -n #   Set minimum file size (in Kbytes) for auto mode. One  may  also  specify  -n #k
              (size  in  Kbytes)  or -n #m (size in Mbytes) or -n #g (size in Gbytes). See -g
              for maximum file size.

       -r #   Used to specify the record size , in Kbytes, to test. One may also specify -r #k
              (size in Kbytes) or -r #m (size in Mbytes) or -r #g (size in Gbytes).
       -q #   Set  maximum  record size (in Kbytes) for auto mode. One may also specify -q #k
              (size in Kbytes) or -q #m (size in Mbytes) or -q #g (size in  Gbytes).  See  -y
              for minimum record size.
       -y #   Set minimum record size (in Kbytes) for auto mode. One may also  specify  -y #k
              (size  in  Kbytes)  or -y #m (size in Mbytes) or -y #g (size in Gbytes). See -q
              for maximum record size.


       -f filename
              Used to specify the filename for the temporary file under test. This is  useful
              when  the unmount option is used. When testing with unmount between tests it is
              necessary for the temporary file under test to be in a directory  that  can  be
              unmounted.  It  is not possible to unmount the current working directory as the
              process Iozone is running in this directory.
       -F filename filename filename ?
              Specify each of the temporary file names to be used in the  throughput   testing.
              The  number of names should be equal to the number of processes or threads that
              are specified.
       -w     Do not unlink temporary files when finished using them.
3. 文件读写方法(read/write, mmap, aio)
       -B     Use mmap() files. This causes all of the temporary files being measured  to  be
              created  and  accessed  with  the mmap() interface. Some applications prefer to
              treat files as arrays of memory. These applications mmap() the  file  and  then
              just access the array with loads and stores to perform file I/O.
       -H #   Use  POSIX  async I/O with # async operations.  Iozone will use POSIX async I/O
               with a bcopy  from the async buffers back into  the  applications  buffer.  Some
              versions of MSC NASTRAN perform I/O this way.  This technique is used by appli‐
              cations so that the async I/O may be performed in a  library  and  requires  no
              changes to the applications internal model.
       -k #   Use  POSIX async I/O (no bcopy) with # async operations.  Iozone will use POSIX
              async I/O and  will not perform any extra bcopys . The  buffers  used  by  Iozone
              will be handed to the async I/O system call directly.
       -Z     Enable mixing of mmap I/O and file I/O.
4. 文件打开参数 (direct_io, O_SYNC, ....) cache /buffer 相关
       -D     Use msync(MS_ASYNC) on mmap files. This tells the operating system that all the
              data in the mmap space needs to be written to disk asynchronously.
       -G     Use msync(MS_SYNC) on mmap files. This tells the operating system that all  the
              data in the mmap space needs to be written to disk synchronously.

        -I      Use DIRECT IO if possible for all file operations. Tells  the  filesystem  that
              all  operations  to  the file are to bypass the buffer cache and go directly to
              disk. (not available on all platforms)

        -o      Writes are synchronously written to disk. (O_SYNC).  Iozone will open the files
              with  the  O_SYNC  flag. This forces all writes to the file to go completely to
              disk before returning to the benchmark.
        -p      This purges the processor cache before each file operation.  Iozone will  allo‐
              cate another internal buffer that is aligned to the same processor cache bound‐
              ary and is of a size that matches the processor cache.  It will zero fill  this
              alternate  buffer  before  beginning  each test.  This will purge the processor
              cache and allow one to see the memory subsystem without the acceleration due to
              the processor cache.  我觉得这个影响应该蛮小 -Lin Yang 5/20/10 12:45 PM  
5. 读写时间计算
       -c     Include  close() in the timing calculations. This is useful only if you suspect
              that close() is broken in the operating system currently under test.  It can be
              useful for NFS Version 3 testing as well to help identify if the nfs3_commit is
              working well.
        -e      Include flush (fsync,fflush) in the timing calculations

6. throughput模式 (多线程)
       -t #   Run Iozone in a throughput mode. This option allows the  user  to  specify  how
              many threads or processes to have active during the measurement.
       -l #   Set  the  lower  limit  on  number of processes to run. When running throughput
              tests this option allows the user to specify the least number of  processes  or
              threads to start. This option should be used in conjunction with the -u option.
       -u #   Set the upper limit on number of processes  to  run.  When  running  throughput
              tests  this  option allows the user to specify the greatest number of processes
              or threads to start. This option should be used in conjunction with the -l  op‐
              tion.
       -T     Use POSIX pthreads for throughput tests. Available on platforms that have POSIX
              threads.
       -C     Show bytes transferred by each child in  throughput  testing. Useful if your  op‐
              erating  system  has  any starvation problems in file I/O or in process manage‐
              ment.
       -d #   Microsecond delay out of barrier. During the  throughput  tests  all  threads  or
              processes  are  forced to a barrier before beginning the test. Normally, all of
              the threads or processes are released at the same moment.  This  option  allows
              one  to  delay  a  specified time in microseconds between releasing each of the
              processes or threads.


7. 其他
       -h     Displays help screen.
       -v     Display the version of Iozone.


       -j #   Set stride of file accesses to (# * record size). The  stride  read  test  will
              read records at this stride.  -跨步

       -J #   Millisecond delay before each I/O operation. This simulates the cpu compute cy‐
              cle of an application that precedes an I/O operation.  One may also use  -X  or
              -Y to control the compute cycle on a per I/O operation basis.
       -K     Inject some random accesses in the testing.
       -L #   Set  processor  cache line size to value (in bytes). Tells Iozone the processor
              cache line size.  This is used internally to help speed up the test.
       -m     Tells Iozone to use multiple buffers internally. Some applications read into  a
              single  buffer  over and over. Others have an array of buffers. This option al‐
              lows both types of applications to be simulated.  Iozone´s default behavior  is
              to  re-use internal buffers. This option allows one to override the default and
              to use multiple internal buffers.

       -N     Report results in microseconds per operation.
       -O     Give results in operations per second.

       -V #   Specify a pattern that is to be written to the temporary file and validated for
              accuracy in each of the read tests.



       -W     Lock file when reading or writing.


       -Q     Create  offset/latency  files.   Iozone  will create latency versus offset data
              files that can be imported with a graphics package and plotted. This is  useful
              for  finding  if  certain  offsets  have very high latencies. Such as the point
              where UFS will allocate its first indirect block.  One can see  from  the  data
              the  impacts  of  the extent allocations for extent based filesystems with this
              option.   文件某个offset的读写latency记录 -Lin Yang 5/20/10 11:39 AM  

       -X filename
              Used to specify a filename that will be used for the write  telemetry  informa‐
              tion. The file contains lines with offset, size, delay_in_milliseconds. Each of
              these lines are used to perform an I/O operation.  This is used when an  appli‐
              cation's  specific  I/O  operations  are known, and one wishes to benchmark the
              system with this specific application file behavior.

       -Y filename
              Used to specify a filename that will be used for the  read  telemetry  informa‐
              tion. The file contains lines with offset, size, delay_in_milliseconds. Each of
              these lines are used to perform an I/O operation.  This is used when an  appli‐
              cation's  specific  I/O  operations  are known, and one wishes to benchmark the
              system with this specific application file behavior.


8. 无用

       -A     This version of automatic mode provides more coverage but consumes a  bunch  of
              time.  The -a option will automatically stop using transfer sizes less than 64k
              once the file size is 32M or larger. This saves time. The -A option  tells  Io‐
              zone  that  you are willing to wait and want dense coverage for small transfers
              even when the file size is very large.  NOTE: This option is  deprecated  in  Io‐
              zone version 3.61.  Use -az -i 0 -i 1 instead.


       -E     Used  to  select  the  extension  tests. Only available on some platforms. Uses
              pread interfaces.

       -P #   Bind  processes/threads to processors, starting with this cpu #. Only available
              on some platforms. The first sub process or thread will begin on the  specified
              processor.  Future  processes  or threads will be placed on the next processor.
              Once the total number of cpus is exceeded then future processes or threads will
              be placed in a round robin fashion.

       -x     Turn off stone-walling. Stonewalling is a technique used internally to  Iozone.
              It is used during the throughput tests. The code starts all threads or process‐
              es and then stops them on a barrier.  Once they are all  ready  to  start  then
              they  are  all released at the same time. The moment that any of the threads or
              processes finish their work then the entire test is terminated  and  throughput
              is  calculated  on  the total I/O that was completed up to t his point. This en‐
              sures that the entire measurement was taken  while  all  of  the  processes  or
              threads  were  running  in  parallel.   This  flag  allows  one to turn off the
              stonewalling and see what happens.


       -S #   Set processor cache size to value (in Kbytes). This tells Iozone  the  size  of
              the  processor  cache.   It is used internally for buffer alignment and for the
              purge functionality.



       -z     Used in conjunction with -a to test all possible record sizes. Normally  Iozone
              omits  testing of small record sizes for very large files when used in full au‐
              tomatic mode. This option forces Iozone to include the small  record  sizes  in
              the automatic tests also.



       -+m filename
              Used  to  specify a filename that will be used to specify the clients in a  dis‐
              tributed  measurement. The file contains one line for each  client.  The  fields
              are  space delimited. Field 1 is the client name. Field 2 is the working direc‐
              tory, on the client, where Iozone will run. Field 3 is the  path  to  the  exe‐
              cutable Iozone on the client.

       -+u    Used to enable CPU statistics collection.

       -+d    Diagnostic mode to troubleshoot a broken file I/O subsystem.

       -+p percentage_reads
              Used  to set the percentage of threads/processes that will perform read testing
              in the mixed workload test case.

       -+r    Enable O_RSYNC | O_SYNC on all testing.

       -+l    Enable byte range locking.

       -+L    Enable byte range locking & shared file mode.

       -+D    Enable O_DSYNC on all testing.

       -+t    Enable network performance test. Use with -+m

       -+A#   Enable madvise  behavior.  0  =  normal,  1=random,  2=sequential,  3=dontneed,
              4=willneed

       -+B    Enable sequential mixed workload testing.

       -+T    Enable time stamps logging.

       -+h    Manually set hostname.

       -+w#   Percentage of data to be de-dupable between files.

对buffer/cache相关参数影响的测试

为啥需要这个测试
    测试过程中,发现有的时候测的的读数据可以达到3G/s,这是由于需要读取的数据在系统cache中已经存在造成的.
    于是,需要考虑cache(和buffer)对系统的影响 。


-I参数确实非常有效,在测试yfs的时候出来的
使用free -m可以看出来,

当iozone跑的filesize = 256M的时候  cache 为200多m
当iozone跑的filesize = 512M的时候 cache 也变成500多m

通过echo 3 > /proc/sys/vm/drop_caches 可以清空这个cache
 -Lin Yang 5/13/10 3:28 PM

于是,我开始对这些参数的作用进行一个比较:


考察以下参数:
        -I     DIRECT IO
        -o     Writes are synchronously written to disk. (O_SYNC)
        -p    purges the processor cache before each file operation
       -c    Include  close() in the timing calculations
        -e     Include flush (fsync,fflush) in the timing calculations

测试过程
无参数时候的命令为:

  iozone -i0 -i1 -s256M -r1M

加-I参数时候: 

  iozone -i0 -i1 -s256M -r1M -I

加其它参数的时候类似.

测试结果
(下表测试在leap机器 <8G内存, ext3> )

KB reclen write rewrite read reread
无参数262,1441,024556,1911,480,8642,471,7242,556,356
-I 262,144 1,024 28,340 28,243 80,484 80,595 r/w都是硬盘
-o 262,144 1,024 13,621 30,028 2,460,777 2,521,099 对写有影响
对cache没用
-p262,1441,024517,3211,217,0441,843,3311,891,535 无影响
-c262,1441,024545,6271,485,3692,484,0932,546,646 无影响
-e 262,144 1,024 32,075 33,154 2,254,553 2,247,461  对写有影响
对cache没用








-I -o262,1441,02413,42027,83675,59179,017
-I -e262,1441,02428,08928,01578,87378,870same as -I
-o -e262,1441,02413,92431,5262,249,2952,568,155same as -o

可以看出,这些参数的影响 :
  • 认为-c  -p 影响很小
  • 只有-I 影响read speed .
  • 对于write speed,影响大小排序: -o > -I > -e

下面为同等情况下 mfs的测试:
mfs参数: 
3machines , every machine have 3 harddisks , goal=2


KB reclen write rewrite read reread
无参数

106,02754,228168,032148,067
-I 2621441024----
-o 262144102451,40448,123138,059147,027
-p 262144102451,70456,547140,665149,992
-c 262144102440,27547,969150,859154,274
-e 262144102432,54639,377145,963152,111








-I -o 2621441024----
-I -e 2621441024----
-o -e 262144102442,03140,780148,862150,961

mfs下,这些参数好像不太有用.

例子

性能测试:
/usr/local/iozone/iozone -i 0 -i 1 -g 12G -Rab out.wks

吞吐率测试:
iozone -t -T -u64 -l64

iozone -i0 -i1 -t -u64 -l32 -w -s1M 
文件1M,并发从32到64
IOzone测试工具使用说明 IOzone是一个文件系统的benchmark工具,可以测试不同操作系统中文件系统的读写性能。 阅读详情

相关推荐

植物大战僵尸五阶星星果火力测试与1437阵型实战分析

多方向攻击是塔防游戏中的核心机制,通过同时覆盖多个路径实现高效防御。其原理基于攻击范围的几何计算和优先级判定系统,能够显著提升清场效率。在《植物大战僵尸》这类策略游戏中,多方向攻击植物的火力覆盖和阵型适配成为关键技术指标。五阶星星果作为典型代表,在1437大帝等经典阵型中展现出色的群体清理能力。通过实战测试验证,其四向攻击模式配合特殊技能触发,能够有效应对无尽模式中的连续僵尸波次。本文聚焦五阶升级和火力表现两个关键点,深入分析星星果在高级玩法中的最优配置方案。

weixin_30363981的博客 389

IOZONE参数使用详解

Ozone是一个文件系统基准工具,它生成许多文件操作并执行测试。Iozone能够运行于许多平台。这份文档涵盖Iozone所执行的许多不同类型的操作和它的所有命令行参数

【信息科学与工程学】【数据中心】 第二十三篇 DDC网络-满足大规模训练、推理、存储区网络(Roce2组网)

特征维度具体特征网络影响设计考虑通信模式​集体通信为主(All-Reduce/All-Gather)多对多通信模式需要高带宽、低延迟的All-to-All连接流量模式​同步、周期性、模式可预测突发带宽需求高需要高效的拥塞控制和流量调度延迟敏感性​端到端延迟敏感(μs级)尾延迟影响训练时间需要无损网络、确定性延迟带宽需求​持续高带宽(100-400Gbps/节点)网络容量压力大需要高带宽、无阻塞网络扩展规模​数千到数万GPU节点可扩展性挑战需要层次化、模块化设计存储访问​大块顺序读写为主存储带宽需求高需要高带

weixin_49199313的博客 1841

iozone磁盘读写测试工具的使用以及命令详解、下载(网站最详细讲解步骤)

本文主要进行讲解iozone性能测试工具的使用详细讲解,针对工具的下载、使用、结果查看等各个步骤都是十分详细.

weixin_42480467的博客 3万+

iozone的使用与介绍

iozone介绍:  iozone(www.iozone.org)是一个文件系统的benchmark工具,可以测试不同的操作系统中文件系统的读写性能。  可以测试 Read, write, re-read,re-write, readbackwards, read strided

1262

【信息科学与工程学】【数据中心】 第十篇 智算中心存储系统的各类、分片方案

简单性原则:在满足需求的前提下,选择最简单的架构和实现可扩展性原则:设计应考虑水平扩展能力,避免单点瓶颈韧性原则:系统应具备故障容忍和自我修复能力安全性原则:安全应内置而非外挂,遵循最小权限原则成本效益原则:在性能和成本之间寻求最佳平衡可观测性原则:系统应提供充分的监控和诊断能力演进性原则:设计应支持平滑演进和技术更新架构先行:设计前瞻性、可扩展的存储网络架构性能与成本平衡:在性能、可靠性和成本之间找到最优平衡点安全合规内嵌:将安全和合规要求融入设计和实施全过程自动化智能化。

weixin_49199313的博客 1098

【信息科学与工程学】【数据中心】 第二十三篇 DDC网络-满足大规模训练、推理、存储区网络(Roce2组网)-第五篇 跨地域互联(公共服务区和存储区)

大规模智算中心跨区域互联

weixin_49199313的博客 1183

ceph存储 ceph集群性能测试iozone

Iozone使用小结 iozone工具常用参数 常用参数解释: -a  auto mode产生文件大小16K-512M,记录大小4K-16M的输出结果; -e  计算时间时算上fflush,fsync的时间; -f  指定临时测试文件; -s  指定测试文件大小; -r  指定测试记录大小; -g –n 指定auto模式下,最大/小测试文件大小; -q –y 指定auto模式

skdkjxy的专栏 3512

iozone介绍

iozone是一个文件系统的benchmark工具,可以测试不同的操作系统中文件系统的读写性能。 可以测试 Read, write, re-read,re-write, read backwards, read strided, fread, fwrite, random read, pread, mmap, aio_read, aio_write 等等不同的模式下的硬盘的性能。 测试的时候请注意

peter_cloud的专栏 1238

btrfs vs ext4 vs (zfs on freebsd) iozone

之前测试了btrfs和ext4的fsync接口性能对比,再用iozone测试一下综合性能。 http://blog.163.com/digoal@126/blog/static/163877040201510301944705/ http://blog.163.com/digoal@126/blog/static/1638770402015103004...

weixin_33851604的博客 821

性能测试之----IOZONE

1. Iozone   Iozone介绍:      Iozone是一个文件系统的测试工具,可以测试不同的操作系统中文件系统的读写性能。      测试时候应注意,设置的测试文件大小一定要大过你的内存(最佳为内存的两倍大小),不然linux会给你的读写内容进行缓存,会使数值非常不真实。      实用命令:./iozone -r 1m -s 5g -t 1 -F /mnt/sda3/k1...

Dreaming 1029

iozone测试文件系统IO性能

iozone是一个文件系统的benchmark工具,可以测试不同的操作系统中文件系统的读写性能。 可以测试 Read, write, re-read,re-write, read backwards, read strided, fread, fwrite, random read, pread, mmap, aio_read, aio_write 等等不同的模式下的硬盘的性能。 测试的时候请注意,设置的测试文件的大小一定要大过你的内存(最佳为内存的两倍大小),不然linux会给你的读写的内容进行缓存。会使

qq_34474071的博客 3911

服务器IO测试(Iozone使用)

1.Iozone工具介绍: 测试硬盘读写性能(Mb/s),包括随机读写和顺序读写速度(Iozone设置块大小16M,文件大小为物理内存2倍、1倍、0.5倍三组数据)。 2.测试步骤 2.1 下载 wget http://www.iozone.org/src/current/iozone3_487.tar 也可根据需求下载其他版本,官网链接:https://www.iozone.org/ 2.2 解压 tar -xvf iozone3_487.tar 2.3安装 进入解压后的文件夹(*/src/curre

weixin_43109534的博客 4431

IOZone的基本使用

IOZone:是一款用于测试文件系统的读写性能的开源工具,可以测出硬盘的读写性能。 安装:下面使用tar包进行安装,还可以直接下载RPM等。(下载网站) 1.下载tar包, 当然也可以下载其他版本。 wget http://www.iozone.org/src/current/iozone3_487.tar 2.解压缩 tar -xvf iozone3_487.tar 3.到安装目...

Carlos An 1万+

系统硬件相关测试

Iozone测试 Iozone参数,常用 -R 产生execl格式的输出日志 -b 将产生二进制的execl的日志文件名。 -s 测试的文件大小 -r 文件块大小 -a 在希望的文件系统上测试,不过只有-a的话会进行全面测试,要花费很长时间,最好用-i指定测试范围。 -g 指定最大测试文件大小 -n 指定最小测试文件大小 -t 启动线程的个数 -f 指定临时测试文件 -F ...

时生 979

【浪潮信息KeyarchOS (KOS)】磁盘性能测试深度剖析:IOzone全流程配置、测试与参数调优秘籍

浪潮信息KOS是浪潮信息基于Linux Kernel、OpenAnolis等开源技术自主研发的一款服务器操作系统,支持x86、ARM等主流架构处理器,性能和稳定性居于行业领先地位,具备成熟的 CentOS 迁移和替换能力,可满足云计算、大数据、分布式存储、人工智能、边缘计算等应用场景需求。详细介绍见官网链接id=12126IOzone 是一个广泛使用的磁盘性能测试工具,用于评估文件系统和磁盘设备在不同工作负载下的性能。它可以测量顺序读写、随机读写、重定向、回放等操作对系统性能的影响。

KeyarchOS的博客 604

记录自己安装文件系统性能测试工具——IOZone过程

记录自己安装文件系统性能测试工具——IOZone过程

z1564058782的博客 2734
上一篇: 写了一个根据cpu使用率 发声的小程序.
下一篇: 被python的time和 datetime两个模块搞晕了,准备读python stdlib
idning
博客等级 码龄19年 6粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值