近期项目中涉及和别人谈存储架构及选型,将IOPS相关的内容学习下。参考网上资料《IO 系统性能之一:衡量性能的几个指标》

1. 基本概念
  1)读写IO操作:对应磁盘的存数据、取数据;
  2)单个IO操作:操作系统 <- IO指令-> 控制器 <-指令+数据块-> 硬盘
  3)随机访问:两次IO操作的扇区地址差距比较大;
  4)连续访问:多次IO操作的扇区地址比较接近;
  5)顺序IO/并发IO:磁盘组能够接受并执行来自控制器的多个IO操作;

2. 单个IO的大小(IO Chunk Size)
  1)数据库读写(包括Orale之block、Sql server之page)默认基本块为8KB;
  2)操作系统提供文件系统缓存,即将多个IO操作缓存后一次性提交给磁盘;
  3)存储系统可能也提供缓存,即将多个来自操作系统的IO指令合并执行;

3. IOPS(IO per Second)
  1)IO 系统每秒执行IO操作的次数;
  2)IO Time:
  假设:磁盘转速 15K RPM、平均寻道时间 5ms、最大传输速率 40MB/s
  基本概念:
    寻址时间:控制器对磁盘发出指令后,磁盘控制臂将磁头移植待读写数据的磁道正上方; -> 5ms
    旋转延时:等待盘片将待读扇区移到磁头正上方;-> (60S/15K)/2 = 2ms 最好情况 + 最坏情况/2
    传送时间:磁盘转动,磁头读入本次IO的全部数据;IO chunk Size/Max transfer rate 如4K/40M
    IO Time = 寻址时间 + 旋转延时 + 传送时间 -> IOPS = 1/IO Time

4. 传输速度(Transfer Rate)/吞吐率(Througput)
  实际过程中会使用IOPS衡量小IO操作系统,而对大IO操作系统用传输速度;
  由上述公式可知,当系统经常属于连续操作时IOPS也无参考价值;

5. IO响应时间
  IO 响应时间:从操作系统发出一个IO指令 到 操作系统收到一个IO反馈为止;此时等于要在IO Chunk Size的基础上增加在内核队列中的时间;

6. 磁盘阵列的两大瓶颈 IOPS 和 吞吐量
  6.1 吞吐量
    取决与磁阵的架构,如下:
    光纤通道:2G的FC卡 -> 2G/8 = 250M/s的实际流量
    硬盘:120块15KRPM的硬盘,支撑的数据流量 = 120*13M/s = 1560Mb/s

6.2 IOPS
    取决于IOPS的主要包括磁阵的算法、cache命中率、磁盘个数
    例:业务IOPS 10000、读cache命中率30%、读IOPS 60%、写IOPS 40%、磁盘个数为120个
    RAID 5:
    单块盘:IOPS = (10000*0.7*0.6 + 4*10000*0.4)/120 = 168; //raid5中写操作需要4个IO
    备注:15k rpm的硬盘支持IOPS为150

《IO 系统性能》笔记的更多相关文章

  1. HTML+CSS笔记 CSS笔记集合

    HTML+CSS笔记 表格,超链接,图片,表单 涉及内容:表格,超链接,图片,表单 HTML+CSS笔记 CSS入门 涉及内容:简介,优势,语法说明,代码注释,CSS样式位置,不同样式优先级,选择器, ...

  2. CSS笔记--选择器

    CSS笔记--选择器 mate的使用 <meta charset="UTF-8"> <title>Document</title> <me ...

  3. HTML+CSS笔记 CSS中级 一些小技巧

    水平居中 行内元素的水平居中 </a></li> <li><a href="#">2</a></li> &l ...

  4. HTML+CSS笔记 CSS中级 颜色&长度值

    颜色值 在网页中的颜色设置是非常重要,有字体颜色(color).背景颜色(background-color).边框颜色(border)等,设置颜色的方法也有很多种: 1.英文命令颜色 语法: p{co ...

  5. HTML+CSS笔记 CSS中级 缩写入门

    盒子模型代码简写 回忆盒模型时外边距(margin).内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左. 语法: margin:10px 15p ...

  6. HTML+CSS笔记 CSS进阶再续

    CSS的布局模型 清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了.布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之上, ...

  7. HTML+CSS笔记 CSS进阶续集

    元素分类 在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 常用的块状元素有: <div>.<p>.<h1&g ...

  8. HTML+CSS笔记 CSS进阶

    文字排版 字体 我们可以使用css样式为网页中的文字设置字体.字号.颜色等样式属性. 语法: body{font-family:"宋体";} 这里注意不要设置不常用的字体,因为如果 ...

  9. HTML+CSS笔记 CSS入门续集

    继承 CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代(标签). 语法: p{color:red;} <p> ...

  10. HTML+CSS笔记 CSS入门

    简介: </span>年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的<span>脚本解释程序</span>,作为ABC语言的一种继承. & ...

随机推荐

  1. arch linux 安装 之 ---GPT--引导篇

    新入一二手X240 ,直接格式化,装archLinux. 一.引导程序安装--------------- 1.首先搞清楚什么是UEFI Under UEFI下的引导顺序 System switched ...

  2. phpredis中文文档 [转]

    phpredis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系 很有用;以下是redis官方提供的命令使用技巧: 下载地址如下: https://github.com/ow ...

  3. jQuery与其他JS库共存

    * 事件 * jQuery与其他JS库共存 * 调用jQuery.noConflict()方法 * 表示jQuery将"$"符号的使用权交出 * 通过两种方式将"$&qu ...

  4. node学习笔记(四)

    //Node.js标准库提供了http模块,其中封装了一个高效的http服务器和一个简易的http客户端 //http.Server是一个基于事件的HTTP服务器,它的核心由Node.js下层c++部 ...

  5. c# 筛选进程命令行,得其ProcessId(唯一标示符,简称pid),再通过pid结束进程

    不说别的,上代码 部分using: using System.Diagnostics; using System.Management; 其中要引用System.Management 1.通过筛选Co ...

  6. windows下nginx的启动关闭

    Windows下Nginx的启动.停止等命令 在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动.停止Nginx服务,重新载入Nginx等,下面我就进行一些简单的介绍. .启 ...

  7. 深入理解HTTP协议

  8. 无法卸载jdk的解决方法

    装了java之后非常纠结的就是无法卸载,总不能因为卸载一个jdk去重装系统,但是看着它残存在那又非常不爽, 因为卸载会牵扯注册表等琐碎的东西,,,后来在官网发现神器一枚,此神器就是java卸载工具. ...

  9. 使用html2canvas实现批量生成条形码

    /*前台代码*/ <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Generat ...

  10. Python读取文本,输出指定中文(字符串)

    因业务需求,需要提取文本中带有检查字样的每一行. 样本如下: 1 投入10kVB.C母分段820闭锁备自投压板 2 退出10kVB.C母分段820备投跳803压板 3 退出10kVB.C母分段820备 ...