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
随机推荐
- Visual Studio登录页面打不开无法登录的解决
我也是折腾了好久-- 1. 打开Visual Studio-->工具-->选项-->账户,找到了登录配置 2. 将嵌入式Web浏览器改为"Windows身份认证中转站&qu ...
- 为Markdown/HTML文档生成一个简易目录
现在阅览文章的网页往往都带有一个目录,方便点击跳转.目录一般都是根据文档中的标题级别直接生成的. 现在我们也来模仿一个简单的,无非就是把<h1><h2>...的序列转化成树嘛 ...
- K-Means(聚类算法)【转载】
聚类##### 今天说聚类,但是必须要先理解聚类和分类的区别,很多业务人员在日常分析时候不是很严谨,混为一谈,其实二者有本质的区别. 分类其实是从特定的数据中挖掘模式,作出判断的过程.比如Gmail邮 ...
- Visual Studio 2022只能使用WSL调试问题处理
删除项目的Properties目录下面的launchSettings.json文件
- PHP执行root命令权限
先修改php函数启用system vi /usr/local/php/etc/php.ini disable functions 里面删除system 修改php账号执行权限www vi /etc/s ...
- C++多线程应用
一个进程就是一个程序,一个程序里不止一个功能,每个功能的实现就可以交给一个线程去完成.一个进程就像是一个工程,这个工程里,有设计,有监理,有施工,就相当于三个线程,各干各的又相互配合. https:/ ...
- optical simulation of quantum logic
量子逻辑的光学模拟(PRA, 1998) 主机中<1998Cerf.pdf> 核心: 1. 用一个光子的多条路径的叠加态来表示n qubits, 那么实验上干涉仪所包含的路径数为 2^n ...
- 从零开始学java(第二天)
------------恢复内容开始------------ 今天是学习了一些基础的知识 1.注释 //行注释 /*多行注释*/ /**文档注释*/ 2.标识符和关键字 标识符就是名字,类名方法名变量 ...
- 使用自定义 JsonConverter 解决 long 类型在前端的精度问题
问题 Javascript 的 number 类型存在精度限制,浏览器反序列化 JSON 时,无法完整保留 long 类型的精度. 在 JSON 序列化时将 long 转换为 string 进行传递就 ...
- seldom-platform:颠覆传统的自动化测试平台
seldom-platform:颠覆传统的自动化测试平台 seldom-platform是一个自动化测试平台,其特点是让会写代码的测试人员能够通过seldom框架高效地完成自动化用例的编写,并将剩下的 ...