使用dd命令简单测试磁盘I/O

news2024/12/23 2:47:15

本文所有测试使用的均是Oracle公有云OCI上的计算实例的启动盘。

  • 第1轮测试使用的是默认的启动盘参数。
  • 第2轮测试使用的是自动调整的启动盘参数(如下图),性能更高。
    在这里插入图片描述

第1轮测试

顺序I/O

运行以下命令5次,dsync表示不使用cache:

dd if=/dev/zero of=/tmp/testfile bs=1G count=1 oflag=dsync

输出为:

1073741824 bytes (1.1 GB, 1.0 GiB) copied, 7.83568 s, 137 MB/s
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 8.65085 s, 124 MB/s
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 8.66759 s, 124 MB/s
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 8.70055 s, 123 MB/s
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 8.68381 s, 124 MB/s

去掉偏差值,均值为124MB/s

运行以下命令5次:

dd if=/dev/zero of=/tmp/testfile bs=1G count=1

输出为:

1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.458927 s, 2.3 GB/s
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 7.45019 s, 144 MB/s
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 8.34947 s, 129 MB/s
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 8.33941 s, 129 MB/s
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 8.35338 s, 129 MB/s

去掉偏差值,均值为129MB/s

随机I/O

运行以下命令5次,dsync表示不使用cache,bs的缺省单位为字节:

dd if=/dev/zero of=/tmp/testfile bs=512 count=1000 oflag=dsync

输出为:

512000 bytes (512 kB, 500 KiB) copied, 1.07545 s, 476 kB/s
512000 bytes (512 kB, 500 KiB) copied, 1.10118 s, 465 kB/s
512000 bytes (512 kB, 500 KiB) copied, 1.08686 s, 471 kB/s
512000 bytes (512 kB, 500 KiB) copied, 1.09063 s, 469 kB/s
512000 bytes (512 kB, 500 KiB) copied, 1.05815 s, 484 kB/s

均值为470kB/s

运行以下命令5次:

dd if=/dev/zero of=/tmp/testfile bs=512 count=1000

输出为:

512000 bytes (512 kB, 500 KiB) copied, 0.000962132 s, 532 MB/s
512000 bytes (512 kB, 500 KiB) copied, 0.00106197 s, 482 MB/s
512000 bytes (512 kB, 500 KiB) copied, 0.00101837 s, 503 MB/s
512000 bytes (512 kB, 500 KiB) copied, 0.00104263 s, 491 MB/s
512000 bytes (512 kB, 500 KiB) copied, 0.00097197 s, 527 MB/s

均值为500MB/s,有点夸张。

第2轮测试

所有的测试均使用oflag=dsync。

顺序I/O

运行以下命令5次,dsync表示不使用cache:

dd if=/dev/zero of=/tmp/testfile bs=1G count=1 oflag=dsync

输出为:

1073741824 bytes (1.1 GB, 1.0 GiB) copied, 4.89465 s, 219 MB/s
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 5.73426 s, 187 MB/s
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 5.74953 s, 187 MB/s
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 5.7962 s, 185 MB/s
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 5.76396 s, 186 MB/s

去掉偏差值,均值为186MB/s。可见付钱确实可以得到更好的服务。

随机I/O

运行以下命令5次:

dd if=/dev/zero of=/tmp/testfile bs=512 count=1000 oflag=dsync

输出为:

512000 bytes (512 kB, 500 KiB) copied, 1.10471 s, 463 kB/s
512000 bytes (512 kB, 500 KiB) copied, 1.06247 s, 482 kB/s
512000 bytes (512 kB, 500 KiB) copied, 1.08626 s, 471 kB/s
512000 bytes (512 kB, 500 KiB) copied, 1.07502 s, 476 kB/s
512000 bytes (512 kB, 500 KiB) copied, 1.08319 s, 473 kB/s

均值和第一轮的470kB/s相比,其实是差不多的。

一些结论

  • dd测试还是要加oflag=dsync选项,结果更准
  • dd命令记得指定count选项,特别是当输入是/dev/zero的时候,否则文件会无限生成下去
  • 对于本测试,磁盘性能调整后,顺序I/O提升明显,而随机I/O没有提升
  • 磁盘调整性能的开关记得关了,是会收费的

参考

  • Linux and Unix Test Disk I/O Performance With dd Command
  • Linux I/O Performance Tests using dd
  • dd(1) — Linux manual page

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1906154.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MySQL05】【 undo 日志】

文章目录 一、前言二、undo 日志(回滚日志)1. 事务 id2. undo 日志格式2.1 INSERT 对应的 undo 日志2.2 DELETE 对应的 undo 日志2.3 UPDATE 对应的 undo 日志2.3.1 不更新主键2.3.2 更新主键 2.3 增删改操作对二级索引的影响2.4 roll_pointer 3. FIL_PA…

合合信息大模型“加速器”重磅上线

大模型技术的发展和应用,预示着更加智能化、个性化未来的到来。如果将大模型比喻为正在疾驰的科技列车,语料便是珍贵的“燃料”。本次世界人工智能大会期间,合合信息为大模型打造的“加速器”解决方案备受关注。 在大模型训练的上游阶段&…

FPGA问题

fpga 问题 第一道坎,安装软件;没有注册,无法产生sop文件,无法下载 没有相应的库的quartus ii版本,需要另下载 第二道坎,模拟器的下载,安装; 第三道,verilog 语法&#x…

PLM设计协同、PLM在产品开发初期的优化作用

在当今快速变化的市场环境中,产品的成功不再仅仅依赖于其最终的功能与性能,更在于其从概念到市场的整个生命周期的效率和效果。产品生命周期管理(Product Lifecycle Management, PLM)作为一种集成了数据、流程和工具的综合方法&am…

破局 AI 2.0 时代:利用 AI 提升自我核心竞争力

文章目录 破局 AI 2.0 时代:利用 AI 提升自我核心竞争力1. AI 2.0 时代1.1 特点1.2 发展1.3 影响 2. AI 2.0 时代的机遇 & 挑战2.1 AI 对行业市场的冲击2.2 挑战变为机遇2.3 不同场景下的 AI 效能提升2.3.1 自动化办公任务2.3.2 提升学习效率2.3.3 创意生成与内…

微信小程序的餐厅点餐系统-计算机毕业设计源码71834

摘要 随着移动互联网技术的迅猛发展,微信小程序因其便捷性和即用即走的特性,成为了连接用户与服务的新桥梁。Node.js作为一种高效、轻量级的后端技术,为开发者提供了快速构建服务器端应用的能力。本文介绍了一个基于微信小程序和Node.js的餐厅…

【小贪】程序员必备:Shell、Git、Vim常用命令

近期致力于总结科研或者工作中用到的主要技术栈,从技术原理到常用语法,这次查缺补漏当作我的小百科。主要技术包括: ✅数据库常用:MySQL, Hive SQL, Spark SQL✅大数据处理常用:Pyspark, Pandas⚪ 图像处理常用&#…

【嵌入式单片机】之RS-232、RS-485、RS-422比较

1. RS422是什么 RS422,正式名称为TIA/EIA-422,是一种串行通信标准,专为实现长距离、高可靠性的数据传输而设计。它采用差分信号传输技术,通过两对双绞线实现全双工通信,即发送和接收可以同时进行。RS422在工业自动化和远程监控系统中曾经扮演着重要角色,以其出色的抗干扰…

新衣服不香了!欧洲人越来越喜欢二手时尚品,国外有哪些二手交易平台?

在欧美国家,大家都很热衷于购买二手商品。过去网店不太盛行的时候,买衣服最喜欢逛二手店。现如今,随着经济和环保观念的普及,也有了二手交易平台,大家的热情也从线下转到了线上。 新衣服不香了!欧洲人越来越…

深入分析 Android BroadcastReceiver (十)(完)

文章目录 深入分析 Android BroadcastReceiver (十)1. 深入理解 Android 广播机制的高级应用与实践1.1 高级应用1.1.1 示例:广播启动服务1.1.2 示例:数据变化通知1.1.3 示例:下载完成通知 1.2 实践建议1.2.1 设置权限1.2.2 动态注册和注销广播…

系统架构设计师——计算机体系结构

分值占比3-4分 计算机硬件组成 计算机硬件组成主要包括主机、存储器和输入/输出设备。 主机:主机是计算机的核心部分,包括运算器、控制器、主存等组件。运算器负责执行算术和逻辑运算;控制器负责协调和控制计算机的各个部件;主存…

Qt | QPen 类(画笔)

01、画笔基础 1、需要使用到的 QPainter 类中的函数原型如下: void setPen(const QPen &pen); //设置画笔,void setPen(const QColor &color); //设置画笔,该笔样式为 Qt::SolidLine、宽度为 1,颜色由 color 指定void setPen(Qt::PenStyle style); //设置画笔,该…

资源分享—2021版三调符号库

汇总整理平台软件支持过程中客户项目提供的各类资源(包括但不限于符号库、地图模板等),在客户允许情况下进行集团内分享。 本次分享新版国土空间规划【三调符号库(2021版)】,提供SuperMap格式符号库下载。 …

innovus:通过dbGet获取指定边上的port

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 相关文章链接: dbGet快速学习教程 常用dbGet命令 #$edge代表指定边"0 1 2 3 ...",以矩形为例,原点在左下角,0就代表…

车灯出现破损破损破裂断角掉角断边等等车灯问题如何修复?用泰达克TADHE车灯无痕修复液来解决。车灯合面合壳密封用泰达克TADHE车灯密封UV胶。

小车车灯无痕修复用的胶是什么? 可以使用在小车车灯无痕修复中的胶水,通常使用的车灯无痕修复专用UV胶。 车灯无痕修复专用胶主要成份是改性丙烯酸UV树脂,主要应用在车灯的专业无痕修复领域。它可以用于修复车灯壳的裂缝或破损,使…

【一位资深用户的可视化工具推荐】智慧社区平台用这款免费可视化工具实现大小屏互通,居民用手机就能看

在智慧社区的管理中,停车位的协调是一个重要的难题,而山海鲸可视化这款免费可视化工具为解决这一问题提供了完美的解决方案。山海鲸可视化通过其强大的二三维融合功能,能够将二维面板与三维场景无缝结合,使停车位的管理变得更加直…

高考志愿填报,选专业是看兴趣还是看就业?

对于结束高考的学生来说,选择专业的确是一个非常让人头疼的事情。因为很多人都不知道,选专业的时候究竟是应该看一下个人兴趣,还是看未来的就业方向,这也是让不少人都相当纠结的问题。这里分析一下关于专业选择的问题,…

【Unity】UGUI的基本介绍

Unity的UGUI(Unity User Interface)是Unity引擎内自带的UI系统,官方称之为UnityUI,是目前Unity商业游戏开发中使用最广泛的UI系统开发解决方案。以下是关于Unity的UGUI的详细介绍: 一、UGUI的特点 灵活性&#xff1a…

14-47 剑和诗人21 - 2024年如何打造AI创业公司

​​​​​ 2024 年,随着人工智能继续快速发展并融入几乎所有行业,创建一家人工智能初创公司将带来巨大的机遇。然而,在吸引资金、招聘人才、开发专有技术以及将产品推向市场方面,人工智能初创公司也面临着相当大的挑战。 让我来…

关于软件设计的思考和总结

1.分析目标 2.软件分析 3.软件建模 4.设计的原则