《IO 系统性能》笔记
近期项目中涉及和别人谈存储架构及选型,将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 系统性能》笔记的更多相关文章
- HTML+CSS笔记 CSS笔记集合
HTML+CSS笔记 表格,超链接,图片,表单 涉及内容:表格,超链接,图片,表单 HTML+CSS笔记 CSS入门 涉及内容:简介,优势,语法说明,代码注释,CSS样式位置,不同样式优先级,选择器, ...
- CSS笔记--选择器
CSS笔记--选择器 mate的使用 <meta charset="UTF-8"> <title>Document</title> <me ...
- HTML+CSS笔记 CSS中级 一些小技巧
水平居中 行内元素的水平居中 </a></li> <li><a href="#">2</a></li> &l ...
- HTML+CSS笔记 CSS中级 颜色&长度值
颜色值 在网页中的颜色设置是非常重要,有字体颜色(color).背景颜色(background-color).边框颜色(border)等,设置颜色的方法也有很多种: 1.英文命令颜色 语法: p{co ...
- HTML+CSS笔记 CSS中级 缩写入门
盒子模型代码简写 回忆盒模型时外边距(margin).内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左. 语法: margin:10px 15p ...
- HTML+CSS笔记 CSS进阶再续
CSS的布局模型 清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了.布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之上, ...
- HTML+CSS笔记 CSS进阶续集
元素分类 在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 常用的块状元素有: <div>.<p>.<h1&g ...
- HTML+CSS笔记 CSS进阶
文字排版 字体 我们可以使用css样式为网页中的文字设置字体.字号.颜色等样式属性. 语法: body{font-family:"宋体";} 这里注意不要设置不常用的字体,因为如果 ...
- HTML+CSS笔记 CSS入门续集
继承 CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代(标签). 语法: p{color:red;} <p> ...
- HTML+CSS笔记 CSS入门
简介: </span>年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的<span>脚本解释程序</span>,作为ABC语言的一种继承. & ...
随机推荐
- Spring 4 官方文档学习 Spring与Java EE技术的集成
本部分覆盖了以下内容: Chapter 28, Remoting and web services using Spring -- 使用Spring进行远程和web服务 Chapter 29, Ent ...
- iOS Xcode添加ios10.0的路径
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
- 《CODE》书摘
2016-11-08 14:59:16 可以说英语词汇就是一种编码. 2016-11-08 15:19:04 实际上任何两种不同的东西经过一定的组合都可以代表任何种类的信息. 2016-11-08 1 ...
- codingNet项目的创建
首先,在codingNet上面创建一个项目(一般情况下) 然后,在本地打开项目并添加到储存库 其次,提交代码到已经创建好的项目中(注意赋值远程存储库的路径)
- iOS多线程 NSOperation的用法
上一篇写了 GCD 的使用,接下来就了解一下 NSOperation ,NSOperation是苹果对 GCD 的 OC 版的一个封装,但是相对于GCD来说可控性更强,并且可以加入操作依赖. NSOp ...
- .net 发展史
2002年年初 -Visual Studio 2002 & .Net Framework 1.0 2003年春天 -Visual Studio 2003 & .Net Framewor ...
- qq协助
今天和一个朋友开完笑说让我进他的电脑,从而出现这篇文章!!!! 目前的QQ版本支持远程协助,所以想到通过两个QQ号码完成对另一台电脑的控制第一台电脑:1.自动登录QQ2.打开另一个QQ号码窗口3. ...
- HDU Game Theory
5795 || 3032 把x个石子的堆分成非空两(i, j)或三堆(i, j, k)的操作->(sg[i] ^ sg[j])或(sg[i] ^ sg[j] ^ sg[k])是x的后继 #def ...
- c++:string函数
string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持 ...
- 安卓开发:DateUtils
public class DateUtils{ /** * 显示友好时间 * * @param ms * @return */ public static String getTimeDes(long ...