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
随机推荐
- SpringBoot 2.3 升级到 SpringBoot 2.7 爬坑-- SpringDoc & Swagger
目录 POM yml 配置自定义的 OpenAPI 规范 拦截器去除 swagger 的接口验证 模型 Controller 配置 常用注解 注意:Swagger支持SpringBoot2.0但不支持 ...
- docker bulid tag push到自己的docker hub 仓库
-t(或 --tag)参数:用于给构建的镜像指定标签(tag).标签的格式通常是 [仓库名/][用户名/]镜像名:版本号 -f(或 --file)参数: 指定构建镜像所使用的 Dockerfile 的 ...
- docker login 私有仓库时报错
连接私有harbor报错如下: docker login 192.168.1.88 -uadmin -pHarbor12345 WARNING! Using --password via the CL ...
- Codeforces 4 A-D
题面 A B C D 难度:红 橙 橙 黄 题解 A 题目大意: 判断一个正整数 \(w\) 能否表示成两个正偶数之和. 解题思路: 考虑分类讨论 \(w\). 对于 \(1\) 和 \(2\),显然 ...
- 低功耗4G模组HTTP网络协议应用
大家好,今天我们来学习合宙Air780E模组LuatOS开发4G通信中HTTP网络协议的应用,实现模组和服务器之间数据的传输. 一.HTTP概述 1.1 简介 HTTP是HyperTextTran ...
- Http状态码502常见原因及排错思路
Http状态码502常见原因及排错思路 502表示Bad Gateway.当Nginx返回502错误时,通常表示Nginx作为代理服务器无法从上游服务器(如:我们的后端服务器地址)获取有效的响应.导致 ...
- 使用SpringSecurity3实现RBAC权限管理
1. What? 什么是权限管理? 具体可参见百度:http://baike.baidu.com/view/2108713.htm 名词备注: 数据级权限:百科内的权限管理一文解释的比较不错,但其中的 ...
- 痞子衡嵌入式:简析i.MXRT1170 XECC开启及Data Swap功能对于外部RAM的访问性能影响
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT1170 XECC开启及Data Swap功能对于外部RAM的访问性能影响. 文接上篇 <i.MXRT1170 XEC ...
- 《JavaScript 模式》读书笔记(8)— DOM和浏览器模式2
四.长期运行脚本 可能会注意到有时候浏览器会提示某个脚本已经运行了很长时间,是否应该停止该脚本.实际上无论要处理多么复杂的任务,都不希望应用程序发生上述事情.而且,如果该脚本的工作十分繁重,那么浏览器 ...
- ArkTs布局入门01——线性布局(Row/Column)
1.概述 布局指用特定的组件或者属性来管理用户页面所放置UI组件的大小和位置.组件按照布局的要求依次排列,构成应用的页面. 在声明式UI中,所有的页面都是由自定义组件构成,开发者可以根据自己的需求,选 ...