使用iozone工具的SD卡bechmarking

时间:2016-06-24 14:16:34

标签: linux benchmarking sd-card iozone

我正在尝试将已安装的Sd卡的性能提供给我的主板,我正在使用Iozone工具来做到这一点,但我得到了starnge结果:

命令:

# mount /dev/mmcblk2p2 /mnt/SD
# cd  /mnt/SD
# iozone -a -s 10M -r 5K -w -e

结果:

                                       random  random    bkwd   record   stride                                   
          KB  reclen   write rewrite    read    reread    read   write    read  rewrite     read   fwrite frewrite   fread  freread
       10240       5    4283    4136    68681   378738  337652    3871  133905    96074   216912     4122     5013  364024   376181

结果以千字节表示随机读取的速度是300MB / s? 我的卡通常是4级,写入速度是4 MB / s,读取速度和这个值差别不大?

2 个答案:

答案 0 :(得分:0)

 iozone -a -s 10M -r 5K -w -e

                                   random  random    bkwd   record   stride                                   
      KB  reclen   write rewrite    read    reread    read   write    read  rewrite     read   fwrite frewrite   fread  freread
   10240       5    4283    4136    68681   378738  337652    3871  133905    96074   216912     4122     5013  364024   376181

是的,你的结果是千字节/秒(KB / s;不要使用-s无声选项,iozone会说Output is in kBytes/sec),是的,有380 MB / s for" reread"速度(重读后读取速度为200 MB / s?)。但是,如果测试集(10 MB)小于RAM量(可能),则重读可能不是块设备(SD卡/ HDD / SSD)的速度。

大多数操作系统(以及Linux)都具有用于文件系统和块设备的软件缓存内存。当您第一次访问某个块时(自引导后),它将从设备中读取并存储在操作系统的Page Cache中。下一次访问(读取)此块将直接从RAM提供,而不是从设备本身提供(除非在I / O操作中使用O_DIRECT选项,iozone的-I选项)。

因此,您的测试运行不正确。在使用之前阅读iozone的手册页:http://linux.die.net/man/1/iozone并尝试更大的测试集(千兆字节)或使用-I来绕过页面缓存。

答案 1 :(得分:0)

这是我使用-I选项时的结果

                                                            random  random    bkwd   record   stride                                   
          KB  reclen   write rewrite    read    reread    read   write    read  rewrite     read   fwrite frewrite   fread  freread
       10240    1024    2356    2950    19693    20865   20833    2095   20111     1734    14375     2875     3566  386809   389443


   write seq :               2,3  Mo/s
   read seq:                 19,2  Mo/s
   write rand:               2  Mo/s
   read rand:                20 Mo/s
   read blk                  20 Mo/s

为什么读取速度仍然很高?