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
随机推荐
- 别再售卖 5块钱 的 Win10 激活码了,后果很严重
为了推广Windows 10系统(以下简称Win10),微软过去几年中一直给免费升级,Win7免费洗白的策略现在都还管用. 微软的大方也让很多人忘了Win10系统是要收费的,而且价格不便宜,国内的话, ...
- ToDesk云电脑堪比万元PC?黑悟空、老头环及战锤40K实测体验!
2009年,OnLive首次在旧金山游戏开发者大会推出"云游戏"的概念,但受限于当时的网络宽带技术,云游戏并不被十分看好.现如今,5G时代已然到来,数据通量和画质传输给予云游戏崛起 ...
- .NET使用Moq开源模拟库简化单元测试
前言 今天大姚给大家推荐一个.NET开源.流行.使用简单的.NET模拟库:Moq. Moq类库介绍 Moq是一个.NET开源.流行.使用简单的 .NET 模拟库,充分利用了.NET 的 Linq 表达 ...
- Sealos 基础教程:Sealos Devbox 的架构原理解析
今天这篇文章咱们来聊一聊 Sealos Devbox 到底是怎么设计的,据说隔壁老奶奶最喜欢看这种有技术深度的文章了. Devbox 返璞归真,把开发者的开发精力放到开发中去,真正做到了摈弃复杂的 C ...
- 如何在国内使用gcr.io镜像进行拉取
[root@k8scloude2 ~]# docker pull gcr.io/google-samples/microservices-demo/emailservice:v0.4.0 换成 [ro ...
- 2-4 C++ const限定词
目录 2.4.1 const之于基本类型(base type) 含义 编译过程 2.4.2 const之于引用 含义 作用 注意点 2.4.3 const之于指针 含义[两类] 变量定义的读法:从左往 ...
- Ubuntu使用dpkg查看与修改architecture的用法
dpkg是Debian的包管理器,因为Ubuntu是Debian的变体,在Ubuntu下也有这个工具. 两个常用的命令是: dpkg -i package-file和dpkg -r package 分 ...
- 2023NOIP A层联测32 T4 红楼 ~ Eastern Dream
2023NOIP A层联测32 T4 红楼 ~ Eastern Dream 根号分治加分块. Ps:分块后面真的用的多. 思路 考虑根号分治,将 \(x\) 分为 \(x \leq \sqrt n\) ...
- git rebase -i的时候用的不是 vi 编辑器是 nano编辑器不会用
今天给同事 rebase 代码 发现 git fetch && git rebase -i origin/develop 的时候 出现了 那个 nano 编辑器的界面 不会用,和vim ...
- PythonDay1Base
PythonDay1Base 变量 即python运行过程中可以发生改变的量,如同数学中的未知数X,将一个确定的量赋值给变量. 变量定义原则 由英文大小写,数字以及下划线_组成 不能以数字开头 不能以 ...