openEuler RISC-V上磁盘I/O性能测试的IOZone实例

打印 上一主题 下一主题

主题 803|帖子 803|积分 2419

  IOZone 是一个广泛利用的文件体系性能基准测试工具,旨在评估磁盘 I/O 性能。它能够测试各种范例的文件操作,包括序次读写、随机读写、重载(re-write)、读取已写入的数据等。通过这些测试,IOZone 可以帮助用户了解不同文件体系和存储设备的性能特点,从而为选择符合的硬件和优化体系配置提供依据。
 
主要功能:
1. 全面的 I/O 操作测试:支持多种文件操作模式,如序次读/写、随机读/写、混合读写等。测试不同的文件巨细和记录巨细组合,以模拟真实天下的应用场景。
2. 多平台支持:兼容多种操作体系,包括 Linux、Windows、macOS 以及其他 Unix 体系。支持从个人电脑到大型服务器的各种硬件平台。
3. 丰富的输出格式:提供详细的测试效果陈诉,包罗图表和数据表格,便于分析。输出可以导出为文本、CSV 或图形化格式,方便进一步处理和分享。
4. 自动化脚本支持:可以编写脚本来自动化运行多个测试用例,适合批量测试和长期监控。支持命令行参数配置,简化了测试设置过程。
5. 多线程和多进程能力:支持多线程和多进程并发测试,正确反映多使命情况下的性能表现。可以指定并行度(即同时进行的测试数量),以模拟高负载情况。
6. 及时性能监控:在测试过程中及时表现进度和当前性能指标,让用户及时把握体系状态。
 
  好吧(都是GPT生成的)。话说返来,这是我最近了解到的一个测评工具,因此想在openEuler RISC-V上试试效果如何。
  GitHub地址:https://github.com/pantheon-systems/iozone.git
  先尝试在本机(ubuntu 22.04)进行了编译,遇到了一些编译的问题:

  这是遇到了符号重定义的问题,我翻了翻C源代码文件,发现变量junk确实分布在好几个类似的文件,但是他们实在是可以相互独立的。
  Makefile当中,libbif.c和iozone.c都定义了junk变量,而iozone_linux.o又依赖于这两者,问题的根本就出现在这里。

  为此,我将这些变量重新命名,可以看看我的commit:Comparing pantheon-systems:master...Thomas134:master · pantheon-systems/iozone
  当地编译成功之后,再试试在openEuler RISC-V上重新编译,发现也成功了(编译命令:make linux)。

  IOZone的利用也比较简单,枚举几个简单的命令:
 
./iozone -a  全部样例都进行测试

 
./iozone -a -i 0       选定某个编号的样例进行测试(-i number)

 
./iozone -a -i 0 -s 64    指定巨细进行测试(-s size)

 
各个测试范例如下:

  同时输出效果的字段当中,File size:文件巨细(以 KB 为单位)表示测试过程中利用的文件巨细。Record size:记录巨细(以 KB 为单位)。表示每次 I/O 操作的数据块巨细。
 
  这个软件现在也顺利在openEuler RISC-V上运行了。还有更多的用法,今天就到此为止。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

篮之新喜

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表