磁盘性能测试工具 Bonnie++

版权声明:知识共享-署名-相同方式共享(CC-BY-SA) https://blog.csdn.net/engrossment/article/details/84137801

概述

之前已有写博文介绍 Bonnie:磁盘读写速率测试工具 Bonnie 。不过还是有必要再了解一下 Bonnie++。

Bonnie++ 最开始基于 Bonnie 进行修改与增强,到后来用 C++ 重写了大部分代码并加入了很多特性。其中最主要的是 Bonnie++ 相较于 Bonnie 支持大于 2G 的测试数据量。这对于在运行内存几 GB、几十 GB 的机器上测试是十分重要的,否则测试数据受缓存的影响将不准确。与此相关另外很重要的一点是,Bonnie 是几十年前的程序了,而 Bonnie++ 则新得多,更新修复也有在不断进行。用这样的程序来做性能测试,相对会更让人放心一点。

下面以广州创龙的 TL138-EVM 为例讲解 Bonnie++  的使用。

编译

  • 见参考链接,下载源码。
  • 初始化编译环境:
source /home/jack/omapl138/ti/mcsdk_1_01_00_02/linux-devkit/environment-setup
  • 生成 Makefile:
./configure --host arm-linux-gnueabi --prefix /home/jack/omapl138/demo/bonnie++-1.03a/build
  • vim zcav.cpp,添加 #include <string.h> 。不然会报以下错误:zcav.cpp:73:33: error: 'strdup' was not declared in this scope
  • vim Makefile,修改以下规则。不然会报以下错误:strip: Unable to recognise the format of the input file
${INSTALL} $(EXES) $(eprefix)/sbin
arm-arago-linux-gnueabi-strip $(eprefix)/sbin/*

运行

复制交叉编译好的程序到开发板,即可执行程序进行测试。注意使用 -d 选项指定了当前目录,如果系统运行在 SD 卡,那么测试的是 SD 卡的性能,系统运行在 Nand Flash,那么测试的就是 Nand Flash 的性能了。

  • 测试 500M 的数据量:
./bonnie++ -d . -s 500 -u root
  • 或者由程序自己根据可用内存大小选定测试数据量(一般是内存的两倍),重复测试 5 次:
./bonnie++ -d . -x 5 -u root

测试结果的解读

  • 注意下图的红框,每一个里面对应一组数据。%CP 是指 CPU 占用率。可以和下面的网页表格对照查看。

  • 由于开发板上没有 Perl 运行环境,可以把测试程序输出的最后一行复制出来,在 PC 上使用 bon_csv2html 工具把测试结果转换为 HTML 页面。
echo  omapl138-Tronlong,200M,2006,82,13171,19,6615,54,2166,100,17882,99,1341.8,99,16,2785,99,2436,99,2487,91,2807,99,+++++,+++,1248,99  |  ./build/bin/bon_csv2html  >>  result.html

参考

廖杰良 - 2018-11-16

猜你喜欢

转载自blog.csdn.net/engrossment/article/details/84137801
今日推荐