磁盘性能指标—IOPS、吞吐量及测试

2023-10-27

磁盘性能指标—IOPS、吞吐量及测试


IOPS (Input/Output Per Second)即每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指标之一。IOPS是指单位时间内系统能处理的I/O请求数量,一般以每秒处理的I/O请求数量为单位,I/O请求通常为读或写数据操作请求。

IOPS、吞吐量

随机读写频繁的应用,如小文件存储(图片)、OLTP数据库、邮件服务器,关注随机读写性能,IOPS是关键衡量指标。

顺序读写频繁的应用,传输大量连续数据,如电视台的视频编辑,视频点播VOD(Video On Demand),关注连续读写性能。数据吞吐量是关键衡量指标。

IOPS和数据吞吐量适用于不同的场合:
读取10000个1KB文件,用时10秒  Throught(吞吐量)=1MB/s ,IOPS=1000  追求IOPS
读取1个10MB文件,用时0.2秒  Throught(吞吐量)=50MB/s, IOPS=5  追求吞吐量

磁盘服务时间

传统磁盘本质上一种机械装置,如FC, SAS, SATA磁盘,转速通常为5400/7200/10K/15K rpm不等。影响磁盘的关键因素是磁盘服务时间,即磁盘完成一个I/O请求所花费的时间,它由寻道时间、旋转延迟和数据传输时间三部分构成。

寻道时间 Tseek是指将读写磁头移动至正确的磁道上所需要的时间。寻道时间越短,I/O操作越快,目前磁盘的平均寻道时间一般在3-15ms。
旋转延迟 Trotation是指盘片旋转将请求数据所在扇区移至读写磁头下方所需要的时间。旋转延迟取决于磁盘转速,通常使用磁盘旋转一周所需时间的1/2表示。比如,7200 rpm的磁盘平均旋转延迟大约为60*1000/7200/2 = 4.17ms,而转速为15000 rpm的磁盘其平均旋转延迟为2ms。
数据传输时间 Ttransfer是指完成传输所请求的数据所需要的时间,它取决于数据传输率,其值等于数据大小除以数据传输率。目前IDE/ATA能达到133MB/s,SATA II可达到300MB/s的接口数据传输率,数据传输时间通常远小于前两部分消耗时间。简单计算时可忽略。

常见磁盘平均物理寻道时间为:

7200转/分的STAT硬盘平均物理寻道时间是9ms
10000转/分的STAT硬盘平均物理寻道时间是6ms
15000转/分的SAS硬盘平均物理寻道时间是4ms

常见硬盘的旋转延迟时间为:

7200  rpm的磁盘平均旋转延迟大约为60*1000/7200/2 = 4.17ms
10000 rpm的磁盘平均旋转延迟大约为60*1000/10000/2 = 3ms,
15000 rpm的磁盘其平均旋转延迟约为60*1000/15000/2 = 2ms。

最大IOPS的理论计算方法


IOPS = 1000 ms/ (寻道时间 + 旋转延迟)。可以忽略数据传输时间。

7200 rpm的磁盘IOPS = 1000 / (9 + 4.17) = 76 IOPS
10000 rpm的磁盘IOPS = 1000 / (6+ 3) = 111 IOPS
15000 rpm的磁盘IOPS = 1000 / (4 + 2) = 166 IOPS

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

磁盘性能指标—IOPS、吞吐量及测试 的相关文章

  • Linuxshell脚本之菜单以及函数

    目录 一 菜单 1 查看菜单格式 2 简单菜单小脚本 二 函数 1 作用 2 基本格式 3 查看函数 4 删除函数 5 函数的返回值 6 函数的传参数 7 函数变量的作用范围 8 递归 三 数组 1 定义数组格式 2 数组类型包括 四 总结
  • 在ubuntu下如何搜索文件?

    1 whereis 文件名 特点 快速 但是是模糊查找 例如 找 whereis mysql 它会把mysql mysql ini mysql 所在的目录都找出来 我一般的查找都用这条命令 2 find name 文件名 特点 准确 但速度
  • linux中jdk安装/java环境安装

    第一步首先下载java jdk jdk 8u144 linux x64链接 https pan baidu com s 1uvSB 7JP037AdZJPDdGF6A 提取码 mdat 然后使用工具将文件传输到linux上 然后将tar g
  • linux 中的 nohup 命令(设置后台进程): nohup: ignoring input and appending output to ‘nohup.out’

    前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住分享一下给大家 点击跳转到教程 一 Linux 下使用 nohup Unix Linux下一般比如想让某个程序在后台运行 很多都是使用 在程序结尾来让程序自动运行 比如我们要
  • Linux 之 shell 比较运算符

    运算符 描述 示例 文件比较运算符 e filename 如果 filename 存在 则为真 e var log syslog d filename 如果 filename 为目录 则为真 d tmp mydir f filename 如
  • 磁盘性能指标—IOPS、吞吐量及测试

    磁盘性能指标 IOPS 吞吐量及测试 IOPS 吞吐量 磁盘服务时间 最大IOPS的理论计算方法 IOPS Input Output Per Second 即每秒的输入输出量 或读写次数 是衡量磁盘性能的主要指标之一 IOPS是指单位时间内
  • Linux expect spawn用法

    背景 开发中 经常会有一些任务需要人机交互 比如登录到某台server上 远程拷贝其上的软件 并分发到其他sever上 传统的操作方式 会产生开发人员与计算机的交互 如等待用户输入密码之类的操作会打断自动化流程的实现 解决方案 使用expe
  • shell内置命令集合

    1 help 显示所有内置命令的列表 或某一个内置命令的用法 help 查看所有内置命令 help 内置命令 查看内置命令使用方法 help s 内置命令 显示内置命令的语法格式 非常好用哦 root localhost var help
  • Linux命令行中创建的软连接(ln -s)的无法移动问题,以及绝对路径和相对路径的概念

    最近刚开始学习鸟哥的Linux基础篇 昨天试验了其中的一些命令 发现在某一个目录下对某个目录创建的软连接在移动到另一个目录下之后就无法正常打开了 问了下同学 这个问题顺利的解决了 首先 在目录dir1下创建一个目录dir2 用到的命令是 j
  • Shell编程样例一篇

    Shell编程例子 来源 ChinaUnix博客 日期 2007 04 10 00 07 共有0条评论 我要评论 Bash编程实例 一 通过学习如何使用 bash 脚本语言编程 将使 Linux 的日常交互更有趣和有生产力 同时还可以利用那
  • Shell 流程控制

    和Java PHP等语言不一样 sh的流程控制不可为空 如 以下为PHP流程控制写法
  • make all、make clean、make install 等命令的来源

    在命令行输入make命令后 会查找当前目录下的Makefile文件来执行 一切都是自动运行的 有时候Makefile中有多个程序需要编译 这时可以使用 make all 来编译所有的程序 当然也可以使用 make 程序名 来单独编译某一个文
  • Linux查看文件和日志的常用命令

    Linux查看文件和日志的常用命令 当项目部署和运行起来后 会产生很多的运行日志 日志的内容是程序里定义的重要输出信息 还有程序出错的报错信息 查看日志文件大部分是去日志中获取一些数据 确认某些信息 还有定位问题时查看报错信息 查看文件是查
  • 命令行程序选项解析函数—getopt

    转载请注明出处 http blog csdn net zhangyang0402 archive 2010 06 14 5671410 aspx 命令行工具下的参数选项有两种 长选项和短选项 短选项以 开头 后面跟单个字母 长选项以 开头
  • 如何查找出Linux使用的shell版本号

    一 找出正在使用的shell类别 有很多种方法可以找出目前正在使用的shell类别 最简单的方法是使用特殊的shell参数 1 通过特殊的shell参数 可以查找出正在运行的shell的PID 参数是只读的不能修改 下面的指令也可以显示正在
  • linux-快捷键

    linux快捷键 ctrl a 移动到行首 ctrl e 移动到行尾 ctrl u 删除光标之前的字符 ctrl k 删除光标之后的字符 ctrl l 清空屏幕终端内容 同于clear
  • linux shell脚本无法执行,报错syntax error near unexpected token `$'\r''解决方法

    最近一直忙于项目上的要求 在编写各种自动化安装的脚本 正好有一个需求是在之前的项目上编写过的 目前只需要拿来修改下即可 之前的shell脚本是在服务器上编写的 后来又已复制的方式存在在了电脑上 以txt文件的形式存放的 于是复制到了编辑工具
  • shell 脚本学习之一 ------let,echo,变量

    首先看到好多以这样开头的 bin bash 这个是告诉系统 解释此脚本文件的Shell程序 这个是注释行 当行有效 脚本程序一般用 xx sh 文件表示 这样一样就可以看出文件的属性 当然也可以不这样 一个脚本程序写完后 如果要执行它 则必
  • linux centos使用rz、sz命令上传下载文件

    一般情况下 我们会使用终端软件 如 XShell SecureCRT 或 FinalShell 来连接远程服务器后 使用 rz 命令上传本地文件到远程服务器 再解压发版上线 一 安转使用 系统 Linux CentOS 7 安装 rz 和
  • linux centos使用rz、sz命令上传下载文件

    一般情况下 我们会使用终端软件 如 XShell SecureCRT 或 FinalShell 来连接远程服务器后 使用 rz 命令上传本地文件到远程服务器 再解压发版上线 一 安转使用 系统 Linux CentOS 7 安装 rz 和

随机推荐

  • RabbitMQ实现延迟消息【死信队列实现、插件实现】

    视频地址 之前一直没使用过RabbitMQ 最近有一个需求需要用到延迟消息 就简单的使用了一下 发现还是有蛮多坑的 此篇文章只是RabbitMQ延迟消息相关内容 至于安装RabbitMQ等其它操作 参考百度 一 什么是延迟消息 顾问思议所谓
  • 详解命令执行漏洞

    详解命令执行漏洞 漏洞描述 漏洞原理 漏洞危害 漏洞产生的原因 命令执行与代码执行的区别 常见的危险函数 命令执行的类型 危险函数利用 system passthru exec shell exec 反引号 escapeshellarg e
  • 心流:最优体验心理学

    心流的成因和特征 注意力 体验过心流的人都知道 那份深沉的快乐是严格的自律 集中注意力换来的 有一个他愿意为之付出的目标 那目标是什么不要紧 只要那目标将他的注意力集中于此 有即时的回馈 因全神贯注于此 日常恼人的琐事被忘却和屏蔽 达到了忘
  • goland插件推荐Rider UI Theme Pack

    推荐一个goland配色插件Rider UI Theme Pack 里面自带visual assist配色 配色截图如下 直接在plugins里面进行搜索或者在插件home page下载后进行安装 然后按照下图进行设置即可 此插件还适用于J
  • LNK 2019 无法解析的外部符号

    原因 你包含了头文件 却没有包含该文件的库文件 lib lib文件 lib是静态数据链接库 在windows中起到链接程序和函数的作用 lib里存放的是函数调用的信息 数据库有静态数据库 lib 和动态数据库 dll 两种 静态编译 个人理
  • 如何重写hashCode()和equals()方法

    转载 http blog csdn net neosmith article details 17068365 hashCode 和equals 方法可以说是Java完全面向对象的一大特色 它为我们的编程提供便利的同时也带来了很多危险 这篇
  • gsoap实现webservice如何发送结构体数组

    头文件中如下定义 struct SRecordArray int size struct SRecord ptr 注意加粗那一行 二维指针前定义一个 size才能正确发送出多个结构体数据 不然只能发出一个
  • Android-P模拟器镜像编译

    0 前言 为模拟器编译镜像和为真机编译有所不同 本文梳理Android P为模拟器编译源码的方法 1 aosp 1 1 aosp arm eng 根据参考资料 1 的方式 编译源码之后 直接执行emulator即可启动模拟器 但会提示 图1
  • IDEA如何将Git回退到某个版本

    网上资料大多是 reset current branch to here 之后 选hard模式 然后强制push的方式 虽然能将本地及远程仓库都恢复到某次提交 但是不会产生commit记录 导致在该分支共同开发的其他人下次提交时 会把你已经
  • Networkx报错 AttributeError: 'NodeView' object has no attribute 'remove'

    错误描述 我用的版本是python2 7 networkx2 2 部分代码 G2是传入的一个随机网络 unsaturated b G2 nodes unsaturated b remove node b 最后一行报错 提示Attribute
  • 虚拟化存储技术

    文章目录 前言 一 HCLA存储技术趋势与智能存储组件 1 HCLA存储技术趋势 1 什么是数据存储 2 数据存储系统 3 数据分类 4 数据存储发展趋势 小结 2 智能存储组件 控制框 硬盘框 级联模块 硬盘 接口模块 二 虚拟化与网络存
  • C++的std::for_each()

    当给定一个容器范围 我们通常需要对其中的每个元素执行相同的操作 这样的操作可能包括打印元素 修改元素的值或应用一个自定义函数等等 在 C 标准库中 std for each 算法函数提供了一种方便的方式来对容器范围内的元素执行指定的操作 s
  • Golang空结构体struct{}的作用是什么?

    文章目录 占位符 通道标识 键集合 内存占用优化 总结 在Go语言中 空结构体 struct 是一种特殊的数据类型 它不占用任何内存空间 空结构体没有任何字段 也没有任何方法 尽管它看起来没有实际的用途 但在编程中确实有一些常见的应用场景
  • Handler dispatch failed; nested exception is java.lang.NoSuchMethodError

    一 问题描述 1 报错 org springframework web util NestedServletException Handler dispatch failed nested exception is java lang No
  • 清华智能体宇宙火了,AI模拟“囚徒困境”等实验只需几行简单配置

    丰色 发自 凹非寺量子位 公众号 QbitAI 可以轻松模拟社会实验的多智能体宇宙来了 它由清华大学联合北邮 微信团队推出 目前已在GitHub揽获1 1k标星 名字简单粗暴 就叫 AgentVerse 划重点 这个环境专门针对大语言模型开
  • 蓝桥杯试题 入门训练 Fibonacci数列 C、C++

    蓝桥杯试题 入门训练 Fibonacci数列 C C 问题描述 Fibonacci数列的递推公式为 Fn Fn 1 Fn 2 其中F1 F2 1 当n比较大时 Fn也非常大 现在我们想知道 Fn除以10007的余数是多少 输入格式 输入包含
  • SpringBoot 日志信息输出

    今天启动SpringBoot项目发现 大于许多日志信息 但是大部分提示是 那些注解类没有被使用 日志输出信息如下 CodecsAutoConfiguration matched ConditionalOnClass found requir
  • [echarts]横向柱状图的两种简便画法

    示例图 第一种方法 可以随意控制y左轴和y右轴的显示位置 let option 柱状图的位置 grid left 0 right 0 bottom 0 top 0 containLabel false 图表两侧是否留白 dataZoom t
  • [ C++ ] — 结构体和共用体

    一 C 中的结构体 1 声明 声明的过程不分配内存 struct Box char name 10 double length double width double height 声明的同时实例化 实例化要分配内存 struct Box
  • 磁盘性能指标—IOPS、吞吐量及测试

    磁盘性能指标 IOPS 吞吐量及测试 IOPS 吞吐量 磁盘服务时间 最大IOPS的理论计算方法 IOPS Input Output Per Second 即每秒的输入输出量 或读写次数 是衡量磁盘性能的主要指标之一 IOPS是指单位时间内