当前位置: 首页 > 工具软件 > iozone > 使用案例 >

iozone测试文件系统IO性能

壤驷睿
2023-12-01

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

官网下载iozone地址:
https://www.iozone.org/src/current/
建议解压到/opt下
进入下面文件地址后,执行安装:
/opt/iozone3_491/src/current
make linux

iozone参数说明:
-a 全面测试,比如块大小它会自动加,块从4k到16M,测试文件大小从64k到512M
-i N 用来选择测试项, 比如Read/Write/Random 比较常用的是0 1 2,可以指定成-i 0 -i 1 -i2.这些别的详细内容请查man
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=random mix
9=pwrite/Re-pwrite
10=pread/Re-pread
11=pwritev/Re-pwritev
12=preadv/Re-preadv
-r block size 指定一次写入/读出的块大小
-s file size 指定测试文件的大小
-f filename 指定测试文件的名字,完成后会自动删除(这个文件必须指定你要测试的那个硬盘中)
-F file1 file2... 指定多线程下测试的文件名;
批量测试项:
-g -n 指定测试文件大小范围,最大测试文件为4G,可以这样写 -g 4G
-y -q 指定测试块的大小范围;
输出:
下面是几个日志记录的参数.好像要输出成图象进行分析,需要指定-a的测试才能输出
-R 产生Excel到标准输出
-b 指定输出到指定文件上. 比如 -Rb ttt.xls

Write: 测试向一个新文件写入的性能。当一个新文件被写入时,不仅仅是那些文件中的数据需要被存储,还包括那些用于定位数据存储在存储介质的具体位置的额外信息。这些额外信息被称作“元数据”。它包括目录信息,所分配的空间和一些与该文件有关但又并非该文件所含数据的其他数据。拜这些额外信息所赐,Write的性能通常会比Re-write的性能低。

Re-write: 测试向一个已存在的文件写入的性能。当一个已存在的文件被写入时,所需工作量较少,因为此时元数据已经存在。Re-write的性能通常比Write的性能高。

Read: 测试读一个已存在的文件的性能。

Re-Read: 测试读一个最 近读过的文件的性能。Re-Read性能会高些,因为操作系统通常会缓存最 近读过的文件数据。这个缓存可以被用于读以提高性能。

Random Read: 测试读一个文件中的随机偏移量的性能。许多因素都可能影响这种情况下的系统性能,例如:操作系统缓存的大小,磁盘数量,寻道延迟和其他。

Random Write: 测试写一个文件中的随机偏移量的性能。同样,有许多因素可能影响这种情况下的系统性能,例如:操作系统缓存的大小,磁盘数量,寻道延迟和其他。

测试例句:
 ./iozone -a -s 4g -i 0 -i 1 -i 2 -Rb output.xls
-a   全面测试,按照测试块从小到大都测试一遍;
-s    指定测试文件大小,建议设置为cache的2倍;
-i    选择测试项,建议测试读、写及随机读写;
-Rb 指定输出到xls文件内,便于后期画图及参看结果。

执行结果:
[root@nntest current]# ./iozone -a -s 4g -i 0 -i 1 -Rb output.xls
    Iozone: Performance Test of File I/O
            Version $Revision: 3.491 $
        Compiled for 64 bit mode.
        Build: linux 

    Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
                 Al Slater, Scott Rhine, Mike Wisner, Ken Goss
                 Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
                 Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
                 Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
                 Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
                 Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
                 Vangel Bojaxhi, Ben England, Vikentsi Lapa,
                 Alexey Skidanov, Sudhir Kumar.

    Run began: Tue Mar  8 13:49:09 2022

    Auto Mode
    File size set to 4194304 kB
    Excel chart generation enabled
    Command line used: ./iozone -a -s 4g -i 0 -i 1 -Rb output.xls
    Output is in kBytes/sec
    Time Resolution = 0.000001 seconds.
    Processor cache size set to 1024 kBytes.
    Processor cache line size set to 32 bytes.
    File stride size set to 17 * record size.
                                                              random    random     bkwd    record    stride                                    
              kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
         4194304       4  1333956  1745994  5382439  5423306                                                                                  
         4194304       8  1597447  2205800  6382333  6474268                                                                                  
         4194304      16  1763401  2499121  6651014  6747439                                                                                  
         4194304      32  1873963  2771854  7022316  7129328                                                                                  
         4194304      64  2025248  2955585  7218527  7340256                                                                                  
         4194304     128  1984941  2995741  6477708  6585405                                                                                  
         4194304     256  2042969  3096798  6369540  6491967                                                                                  
         4194304     512  2074248  3137495  6458031  6574245                                                                                  
         4194304    1024  2052498  2535356  4984613  5027442                                                                                  
         4194304    2048  2028430  3080004  6385298  6491172                                                                                  
         4194304    4096  2057448  3085016  6377123  6484410                                                                                  
         4194304    8192  2052417  3060711  6348485  6477987                                                                                  
         4194304   16384  1882907  2697010  4732242  4798811                                                                                  

iozone test complete.
Excel output is below:

"Writer report"
        "4"  "8"  "16"  "32"  "64"  "128"  "256"  "512"  "1024"  "2048"  "4096"  "8192"  "16384"
"4194304"   1333956  1597447  1763401  1873963  2025248  1984941  2042969  2074248  2052498  2028430  2057448  2052417  1882907 

"Re-writer report"
        "4"  "8"  "16"  "32"  "64"  "128"  "256"  "512"  "1024"  "2048"  "4096"  "8192"  "16384"
"4194304"   1745994  2205800  2499121  2771854  2955585  2995741  3096798  3137495  2535356  3080004  3085016  3060711  2697010 

"Reader report"
        "4"  "8"  "16"  "32"  "64"  "128"  "256"  "512"  "1024"  "2048"  "4096"  "8192"  "16384"
"4194304"   5382439  6382333  6651014  7022316  7218527  6477708  6369540  6458031  4984613  6385298  6377123  6348485  4732242 

"Re-Reader report"
        "4"  "8"  "16"  "32"  "64"  "128"  "256"  "512"  "1024"  "2048"  "4096"  "8192"  "16384"
"4194304"   5423306  6474268  6747439  7129328  7340256  6585405  6491967  6574245  5027442  6491172  6484410  6477987  4798811 

 类似资料: