iozone文件系统测试工具

IOZONE(1)通用命令手册IOZONE(1)

名称
Iozone-文件系统标准测试工具

概要
Iozone [-a|-A] [-s filesize_Kb] [-r record_size_Kb] [-f [path]filename] [-i test] [-E] [-p] [-m] [-M] [-t children] [-h] [-o] [-l min_number_procs] [-u max_number_procs] [-v] [-R] [-x] [-d
microseconds] [-F path1 path2…] [-V pattern ] [-j stride] [-T] [-C] [-B] [-D] [-G] [-I] [-H depth] [-k depth] [-U mount_point] [-S cache_size] [-O] [-L line_size] [-K] [-N] [-Q] [-P start_cpu]
[-c] [-e] [-b Excel.xls] [-J milliseconds] [-X [path]filename] [-Y [path]filename] [-w] [-W] [-z] [-Z] [-n min_filesize_Kb] [-g max_filesize_Kb] [-y min_recordsize_Kb] [-q max_recordsize_Kb] [-+d]
[-+u] [-+m client_filename] [-+n] [-+N] [-+p percent_read] [-+r] [-+t] [-+l] [-+L] [-+D] [-+A madvise_selector] [-+h hostname] [-+T] [-+w Percent de-dupable.]

描述
Iozone是文件系统基准测试工具。基准测试生成并衡量各种文件操作。 Iozone已被移植到许多机器上并在许多操作系统下运行。本文档将介绍经过测试的许多不同类型的操作以及所有命令行选项。

   Iozone对于确定供应商的计算机平台的广泛文件系统分析很有用。基准测试将文件I / O性能用于以下操作。

             读取,写入,重新读取,重新写入,向后读取,跨步读取,读取,写入,随机读取/写入,前置/写入变体
             Read, write, re-read, re-write, read backwards, read strided, fread, fwrite, random read/write, pread/pwrite variants

   尽管通常在购买计算机时会考虑到某个应用程序,但随着时间的流逝,应用程序组合也可能会发生变化。许多供应商已经增强了其操作系统,以使某些常用应用程序具有良好的性能。尽管这可以加快少数几个应用程序的I / O速度,但系统可能也无法很好地应对操作系统未针对的其他应用程序。这种类型的增强功能的一个示例是:数据库。许多操作系统已经测试并调整了文件系统,因此它可以很好地与数据库一起使用。尽管数据库用户感到满意,但其他用户可能并不满意,因为整个系统可能会以牺牲所有其他用户为代价将所有系统资源提供给数据库用户。随着时间的流逝,系统管理员可能会决定将更多办公室自动化任务转移到这台机器上。现在,负载可能从随机读取器应用程序(数据库)转移到顺序读取器。用户可能会发现运行此新应用程序时机器运行非常缓慢,并且对购买此平台的决定不满意。通过使用Iozone获得广泛的文件系统性能覆盖范围,购买者更有可能看到任何热点或冷点,并选择更加平衡的平台和操作系统。

选项:

   -a用于选择全自动模式。产生的输出涵盖所有测试的文件操作,记录大小从4k到16M,文件大小从64k到512M。

   -A此版本的自动模式可提供更多的覆盖范围,但会花费大量时间。文件大小为32M或更大时,-a选项将自动停止使用小于64k的传输大小。这样可以节省时间。 -A选项告诉Iozone,即使文件很大,您也愿意等待并希望为小规模传输提供密集的覆盖。注意:Iozone 3.61版不建议使用此选项。请改用-az -i 0 -i 1。

   -b filename
          用于指定文件名,该文件名将用于输出包含结果的Excel兼容文件。

   -B使用mm​​ap()文件。这将导致所有要测量的临时文件都通过mmap()接口创建和访问。一些应用程序倾向于将文件视为内存阵列。
          这些应用程序mmap()文件,然后仅通过加载和存储访问阵列以执行文件I / O。

   -c在时序计算中包括close()。仅当您怀疑在当前正在测试的操作系统中close()损坏时,此功能才有用。这对于NFS版本3测试也很有用,有助于确定nfs3_commit是否运行良好。

   -C显示吞吐量测试中每个子进程传输的字节。如果您的操作系统在文件I / O或进程管理中有任何饥饿问题,该功能将非常有用。

   -d # 微秒延迟超出障碍。在吞吐量测试期间,在开始测试之前,所有线程或进程都被强制设置为障碍。通常,所有线程或进程都在同一时间释放。此选项允许在释放每个进程或线程之间延迟指定的时间(以微秒为单位)。

   -D在mmap文件上使用msync(MS_ASYNC)。这告诉操作系统,mmap空间中的所有数据都需要异步写入磁盘。

   -e在时序计算中包括刷新(fsync,fflush)

   -E用于选择扩展测试。仅在某些平台上可用。使用前置界面。

   -f filename
          用于指定被测临时文件的文件名。当使用unmount选项时,这很有用。在两次测试之间进行卸载时,被测试的临时文件必须位于可以卸载的目录中。由于进程Iozone正在此目录中运行,因此无法卸载当前工作目录。

   -F filename文件名filename?
          指定在吞吐量测试中使用的每个临时文件名。名称的数量应等于指定的进程或线程的数量。

   -g # 设置自动模式的最大文件大小(以KB为单位)。也可以指定-g #k(以KB为单位)或-g #m(以MB为单位)或-g #g(以GB为单位)。有关最小文件大小,请参见-n。

   -G在mmap文件上使用msync(MS_SYNC)。这告诉操作系统,mmap空间中的所有数据都需要同步写入磁盘。

   -h显示帮助屏幕。

   -H # 将POSIX异步I / O与#异步操作一起使用。 Iozone将使用带有bcopy的POSIX异步I / O,并将bcopy从异步缓冲区返回到应用程序缓冲区。某些版本的MSC NASTRAN以这种方式执行I / O。应用程序使用此技术,以便可以在库中执行异步I / O,并且无需更改应用程序内部模型。

   -i # 用于指定要运行的测试。 (0 =写入/重写,1 =读取/重新读取,2 =随机读取/写入,3 =向后读取,4 =重写记录,5 =跨步读取,6 = fwrite / re-fwrite ,7 =读取/重新读取,8 =混合工作量,9 =写入/重新写入,10 =读取/重新写入,11 =写入/重新写入,12 =读取/重新读取)(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)。一个总是需要指定0,以便以下任何测试将具有要测量的文件。还支持-i # -i # -i #,这样一个人可以选择多个测试。

   -I如果可能的话,对所有文件操作都使用DIRECT IO。告诉文件系统对文件的所有操作都将绕过缓冲区高速缓存并直接进入磁盘。 (并非在所有平台上都可用)

   -j # 将文件访问的步幅设置为(#*记录大小)。跨步读取测试将在此跨步读取记录。

   -J # 每次I / O操作之前的毫秒延迟。这模拟了I / O操作之前的应用程序的cpu计算周期。也可以在每个I / O操作的基础上使用-X或-Y来控制计算周期。

   -k # 对#异步操作使用POSIX异步I / O(无bcopy)。 Iozone将使用POSIX异步I / O,并且不会执行任何额外的bcopy。 Iozone使用的缓冲区将直接传递给异步I / O系统调用。

   -K在测试中注入一些随机访问。

   -l # 设置要运行的进程数的下限。在运行吞吐量测试时,该选项允许用户指定最少数量的要启动的进程或线程。此选项应与-u选项一起使用。

   -L # 将processor cache line size大小设置为值(以字节为单位)。告诉Iozone processor cache line size大小。在内部用于帮助加快测试速度。

   -m告诉Iozone在内部使用多个缓冲区。一些应用程序一遍又一遍地读入单个缓冲区。其他的有一个缓冲区数组。此选项允许模拟两种类型的应用程序。 Iozone的默认行为是重复使用内部缓冲区。此选项允许覆盖默认值并使用多个内部缓冲区。

   -M Iozone将调用uname()并将字符串放入输出文件中。

   -n # 设置自动模式的最小文件大小(以KB为单位)。还可以指定-n #k(以KB为单位)或-n #m(以MB为单位)或-n #g(以GB为单位)。有关最大文件大小,请参见-g。

   -N报告结果以每次操作为微秒。

   -o写入将同步写入磁盘。 (O_SYNC)。 Iozone将使用O_SYNC标志打开文件。这将迫使所有对该文件的写操作在返回基准之前完全进入磁盘。

   -O给出每秒操作数的结果。

   -p这将在每次文件操作之前清除处理器高速缓存。 Iozone将分配另一个内部缓冲区,该缓冲区与相同的处理器缓存边界对齐,并且其大小与处理器缓存匹配。在开始每个测试之前,它将零填充此备用缓冲区。这将清除处理器高速缓存,并允许一个人看到内存子系统,而不会由于处理器高速缓存而加速。

   -P # 从此cpu#开始将进程/线程绑定到处理器。仅在某些平台上可用。第一个子进程或线程将在指定的处理器上开始。将来的进程或线程将放置在下一个处理器上。一旦超过了cpus的总数,则以后的进程或线程将以循环方式放置。

   -q # 设置自动模式的最大记录大小(以KB为单位)。也可以指定-q #k(以KB为单位)或-q #m(以MB为单位)或-q #g(以GB为单位)。有关最小记录大小,请参见-y。

   -Q创建偏移/等待时间文件。 Iozone将创建可与图形包一起导入并绘制的延迟与偏移数据文件。这对于查找某些偏移量是否具有很高的延迟很有用。例如UFS将分配其第一个间接块的位置。使用此选项,可以从数据中看到扩展范围对基于扩展盘区的文件系统的影响。

   -r # 用于指定要测试的记录大小(以KB为单位)。还可以指定-r #k(以KB为单位)或-r #m(以MB为单位)或-r #g(以GB为单位)。

   -R生成Excel报告。 Iozone将生成Excel兼容的报告以将其标准化。该文件可以用Microsoft Excel(以空格分隔)导入,并用于创建文件系统性能的图表。注意:3D图形是面向列的。绘图时需要选择此选项,因为Excel中的默认值是面向行的数据。

   -s # 用于指定要测试的文件的大小,以KB为单位。还可以指定-s #k(以KB为单位)或-s #m(以MB为单位)或-s #g(以GB为单位)。

   -S # 将处理器高速缓存大小设置为值(以KB为单位)。这告诉Iozone处理器缓存的大小。它在内部用于缓冲区对齐和清除功能。

   -t # 以吞吐量模式运行Iozone。该选项允许用户指定在测量期间活动的线程或进程的数量。

   -T使用POSIX pthreads进行吞吐量测试。在具有POSIX线程的平台上可用。

   -u # 设置要运行的进程数的上限。运行吞吐量测试时,该选项允许用户指定要启动的最大进程数或线程数。此选项应与-l选项一起使用。

   -U mountpoint(安装点)
          要在测试之间卸载并重新安装的安装点。在开始每个测试之前,Iozone将卸载并重新安装此安装点。这样可以保证缓冲区高速缓存不包含任何正在测试的文件。

   -v显示Iozone的版本。

   -V # 指定一个模式,该模式将被写入临时文件并在每个读取测试中均经过准确性验证。

   -w在使用完临时文件后,请勿取消链接。

   -W读取或写入时锁定文件。

   -x关闭石墙。阻隔墙是内部用于Iozone的技术。在吞吐量测试期间使用它。该代码启动所有线程或进程,然后将它们停止在障碍上。一旦它们准备好开始,那么它们将同时被释放。任何线程或进程完成其工作的那一刻,整个测试就会终止并
          吞吐量是根据到目前为止已完成的总I / O计算的。这样可以确保在所有进程或线程并行运行时进行整个测量。这个标志允许关闭石墙,看看会发生什么。

   -X filename
          用于指定用于写遥测信息的文件名。该文件包含偏移,大小,delay_in_milliseconds的行。这些线中的每条线都用于执行I / O操作。当已知应用程序的特定I / O操作并且希望使用此特定应用程序文件行为对系统进行基准测试时,将使用此方法。

   -y # 设置自动模式的最小记录大小(以KB为单位)。还可以指定-y #k(以KB为单位)或-y #m(以MB为单位)或-y #g(以GB为单位)。有关最大记录大小,请参见-q。

   -Y filename
          用于指定将用于读取遥测信息的文件名。该文件包含偏移,大小,delay_in_milliseconds的行。这些线中的每条线都用于执行I / O操作。当已知应用程序的特定I / O操作并且希望使用此特定应用程序文件行为对系统进行基准测试时,将使用此方法。

   -z与-a结合使用以测试所有可能的记录大小。通常,在全自动模式下使用时,Iozone会省略对非常大的文件的小记录大小的测试。此选项强制Iozone在自动测试中也包括小的记录大小。

   -Z启用mmap I / O和文件I / O的混合。

   -+ m filename
          用于指定文件名,该文件名将用于指定分布式度量中的客户端。该文件为每个客户端包含一行。字段以空格分隔。字段1是客户名称。字段2是客户端上将运行Iozone的工作目录。字段3是客户端上可执行Iozone的路径。

   -+ n未选择重新测试。用于防止重新测试运行。

   -+ N在顺序写测试之前,不会截断或删除先前的测试文件。仅在上一个命令中使用-w之后,才有用。当单个重新测试不够用时,此标志的用途有限,或者可以轻松控制何时进行顺序写重新测试而又不截断或删除文件。

   -+ u用于启用CPU统计信息收集。

   -+ d诊断模式,用于对损坏的文件I / O子系统进行故障排除。

   -+ p percent_reads
          用于设置在混合工作负载测试用例中将执行读取测试的线程/进程的百分比。

   -+ r启用O_RSYNC |所有测试都为O_SYNC。

   -+ l启用字节范围锁定。

   -+ L启用字节范围锁定和共享文件模式。

   -+ D在所有测试上启用O_DSYNC。

   -+ t启用网络性能测试。与-+ m一起使用

   -+ A#启用疯狂行为。 0 =正常,1 =随机,2 =顺序,3 =不需要,4 =需要

   -+ B启用顺序混合工作负载测试。

   -+ T启用时间戳记录。

   -+ h手动设置主机名。

   -+ w#文件之间可重复删除数据的百分比。

作者
原作者:威廉·D·诺科特。 [email protected]

   功能和扩展:Don Capps [email protected]

                                                                                                                                                                                                碘酮(1)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章