openEuler RISC-V上磁盘I/O性能测试的IOZone实例
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上运行了。还有更多的用法,今天就到此为止。
openEuler RISC-V上磁盘I/O性能测试的IOZone实例的更多相关文章
- 上传文件及$_FILES的用法实例
Session变量($_SESSION):�php的SESSION函数产生的数据,都以超全局变量的方式,存放在$_SESSION变量中.1.Session简介SESSION也称为会话期,其是存储在服务 ...
- OCM_第十六天课程:Section7 —》GI 及 ASM 安装配置 _安装 GRID 软件/创建和管理 ASM 磁盘组/创建和管理 ASM 实例
注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...
- Plupload 上传详细讲解,Plupload 多实例上传,Plupload多个上传按钮--推荐使用
今天帮朋友解决 Plupload 上传的问题,查了很多资料,资料还是挺全的,但是有点零零散散的,故整理好,合并发出来. 本教程包括: Plupload 上传详细讲. Plupload 多实例上 ...
- PHP+Mysql查询上一篇和下一篇文章实例
简单的PHP+Mysql查询上一篇和下一篇文章实例,并输出上一篇和下一篇文章的标题和链接,适合新手学习 获取当前浏览文章id: $id = isset($_GET['id']) > 0 ? in ...
- 前端(react)上传到阿里云OSS存储 实例
需求背景 由于现有的后台管理系统,上传的视频越来越大,加上上传视频较慢,后端小哥提出直接从前端上传视频或者其他文件到阿里云OSS存储. 阿里云OSS 阿里云OSS文档介绍,这里不做过多赘述 安装 原本 ...
- Linux上磁盘热插拔
首先获取scsi设备的信息. [root@server2 ~]# lsscsi [:::] disk VMware, VMware Virtual S 1.0 /dev/sda [:::] cd/dv ...
- 关于将Azure云上磁盘导出-使用VirtualBox转换成vmdk格式的方法记录
在工作中,经常会遇到虚拟磁盘文件格式的转换需求,尤其是在虚拟化迁移及云环境迁移到DC的虚拟化环境中 或者中转处理,如最近笔者遇到一个需要将Azure Cloud上的磁盘导出到VMware中,但Azur ...
- 让input支持 ctrl v上传粘贴图片? 让input支持QQ截图或剪切板中的图像数据(Java实现保存)
原理:监听粘贴 → 获取粘贴内容 → 将内容上传 → 抓取后返回替换至input 我们在生产中用到的界面: 测试地址 http://sms.reyo.cn 用户名:aa 密码:123456 以下是PH ...
- 关于网络上的各种mysql性能测试结论
关于网上的各种性能测试帖子,我想说以下几点: 1.为了使性能测试更加的客观.实际,应该说明针对什么场景进行测试,查询.还是修改,是否包含了主键,包含了几个索引,各自的差别是什么.因为不同的mysql分 ...
- linux上磁盘的操作相关命令
1.查看磁盘IO负载 - 看哪些进程在读写磁盘 lsof /dev/sda2 |head
随机推荐
- jmeter使用beanshell完成签名计算,附与python代码对比
签名计算过程: 1.ticket计算:时间戳加+随机数字拼接后md5加密 2.组装公共参数+ticket+时间戳+业务参数 beanshell代码实现: import java.util.*;impo ...
- Java高并发,ArrayList、HashSet、HashMap不安全的集合类
首先是我们的ArrayList: 这次我们讲解的是集合的不安全,首先我们都知道ArrayList吧! List<String> list=new ArrayList<>(); ...
- SSIS错误汇总
问题一 [Excel 目标 [2]] 错误: SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.对连接管理器"未匹配用 ...
- esp8266+MQTT+DHT11(温湿度计) platformio
esp8266 + MQTT + DHT11(温湿度计) 连线 #include <Arduino.h> #include <ESP8266WiFi.h> #include & ...
- 2-1 C++内置类型
目录 2.1.1 算术类型(Arithmetic Types) 概览 分类 整型与浮点型 有符号和无符号 存储 单位转换 常见类型的大小 几点说明 选择 2.1.2 类型转换(Type Convers ...
- Linux /dev/loop0文件详解
loop设备介绍 在类 UNIX 系统里,loop 设备是一种伪设备(pseudo-device),或者也可以说是仿真设备.它能使我们像块设备一样访问一个文件. 在使用之前,一个 loop 设备必须要 ...
- git reset 之后切换到原来的commit
git reset的语法: git reset [--hard|soft|mixed|merge|keep] [<commit>或HEAD] 作用:将当前分支reset到指定的commit ...
- KindleVocab 教程,Kindle导出查词记录成文本文档,Kindle导出查询单词记录导入Anki
程序功能 因本人使用Kindle Mate导出觉得复杂,特意写了个自用的导出程序(有linux版本和win两个版本). 所以 KindleVocab 只有一个作用:导出Kindle查询过的生词和生词所 ...
- Docker之基础(一)
接触Docker有很久一段时间, 但是没有好好总结一下, 借此公司项目全面容器化, 记录一下常用的Docker操作 概况: 本次容器化的项目包括PHP+Python项目,PHP是基于php-fpm的基 ...
- pycharm之远程开发
转载:https://amos-x.com/index.php/amos/archives/pycharm-remote/ 前言 远程开发什么意思? 远程开发就是用本地的个人电脑进行代码编写开发,但是 ...