现实中的IO和带宽
2015-12-22 23:26
204 查看
摘要: 现实中的IO和带宽
现实中的I/O情况
为了更好的理解存储系统中的I/O和其他相关概念,可以用现实中的春运时的火车站售票窗口的排队现象,来形象的对比存储系统中的I/O情况:
火车站售票大厅:存储系统
售票窗口:I/O通道。
每个乘客到售票窗口购票:相当于一次I/O。【乘客告诉售票员,去哪里,买几张票,售票员确认,出票,乘客拿到车票,就相当于完成了一次I/O。然后排在队伍中的下一位的乘客开始买票,重复这个过程】。
一段时间内,每位乘客购票的平均耗费时间:平均响应时间。比较普遍的情况是,每个乘客买票的数量多的情况下,是比买一张票所耗费的时间要多。如果乘客既要问询票价,还要买到不同目的地的车票,所花的时间也会比只买一个目的地车票所花的时间多(这里不考虑极端情况。例如,售票员手上刚好有以前打印好的车票,而且正好是乘客所要购买的,那么就会大大降低处理时间。这相当于存储系统中,读请求恰好命中了Cache中的数据,而不必再从磁盘读数据)。
每个乘客购票数量:每次IO所传送的数据量。
对于排队购票的乘客来说,他关心的是花多长时间才能尽快的排队买上票,这时候影响他排队时间的就是前面每个购票者购票所花费的时间,只有这个时间越短,他才能尽快的买上票。
在存储系统内就是,每个IO响应时间越短,单位时间内的IOPS就越高。
对于铁道部门来说,它根本不关心有多少人排队购票,每个购票者买票花费的时间。它只关心在一段时间内,例如整个春运时间段,它所售出的火车票的总数量。这个整体的数量,主要取决于每个购票者购买的票数,其次才取决于每个购票者平均买票花费的时间,另外还取决于同时有多少个窗口并行售票。
在存储系统内就是,每个IO的传送的数据量越大,并行读写的数量越多,单位时间内存储系统可以提供的带宽就越大。
在这个例子中,我们可以看到,乘客更关注于售票系统的平均响应时间,铁道部门更关注于最大售票量(一段时间内的带宽总和)。这就是从不同角度,来考量存储的性能参数。
批处理任务就是通过延时(响应时间)来提高整体吞吐量(单位时间内的任务处理量)
对于乘客来说,每个乘客购买的票数多了(每个IO传送的数据量增加),但是所花的时间也长了,单位时间内,能买上票的乘客的数量反而会减少(IOPS减少),但是铁道部门的售票总量还是会线性增加(带宽增加)。
这就类似于存储系统中, IOPS和带宽之间的关系:
写入10000个1KB文件,用时10秒 Throught(带宽)=1MB/s ,IOPS=1000
写入1个1MB文件,用时0.1秒 Throught(带宽)=10MB/s, IOPS=10
由此可见,
传输大容量连续数据,适合以带宽为标准,选择高带宽存储系统
传输小块、不连续数据,如OLTP、数据库应用、邮件服务器等,适合以IOPS为标准,选择高IOPS存储系统
以上所举的例子,只是类似于存储系统中顺序I/O的情况,实际存储中的情况还有随机读、随机写I/O等情况,远比这个例子复杂。这里不做讨论。但这个例子的一些结论,还是可以借鉴并有助于理解存储I/O和性能、带宽等之间的关系。
现实中的I/O情况
为了更好的理解存储系统中的I/O和其他相关概念,可以用现实中的春运时的火车站售票窗口的排队现象,来形象的对比存储系统中的I/O情况:
火车站售票大厅:存储系统
售票窗口:I/O通道。
每个乘客到售票窗口购票:相当于一次I/O。【乘客告诉售票员,去哪里,买几张票,售票员确认,出票,乘客拿到车票,就相当于完成了一次I/O。然后排在队伍中的下一位的乘客开始买票,重复这个过程】。
一段时间内,每位乘客购票的平均耗费时间:平均响应时间。比较普遍的情况是,每个乘客买票的数量多的情况下,是比买一张票所耗费的时间要多。如果乘客既要问询票价,还要买到不同目的地的车票,所花的时间也会比只买一个目的地车票所花的时间多(这里不考虑极端情况。例如,售票员手上刚好有以前打印好的车票,而且正好是乘客所要购买的,那么就会大大降低处理时间。这相当于存储系统中,读请求恰好命中了Cache中的数据,而不必再从磁盘读数据)。
每个乘客购票数量:每次IO所传送的数据量。
对于排队购票的乘客来说,他关心的是花多长时间才能尽快的排队买上票,这时候影响他排队时间的就是前面每个购票者购票所花费的时间,只有这个时间越短,他才能尽快的买上票。
在存储系统内就是,每个IO响应时间越短,单位时间内的IOPS就越高。
对于铁道部门来说,它根本不关心有多少人排队购票,每个购票者买票花费的时间。它只关心在一段时间内,例如整个春运时间段,它所售出的火车票的总数量。这个整体的数量,主要取决于每个购票者购买的票数,其次才取决于每个购票者平均买票花费的时间,另外还取决于同时有多少个窗口并行售票。
在存储系统内就是,每个IO的传送的数据量越大,并行读写的数量越多,单位时间内存储系统可以提供的带宽就越大。
在这个例子中,我们可以看到,乘客更关注于售票系统的平均响应时间,铁道部门更关注于最大售票量(一段时间内的带宽总和)。这就是从不同角度,来考量存储的性能参数。
批处理任务就是通过延时(响应时间)来提高整体吞吐量(单位时间内的任务处理量)
对于乘客来说,每个乘客购买的票数多了(每个IO传送的数据量增加),但是所花的时间也长了,单位时间内,能买上票的乘客的数量反而会减少(IOPS减少),但是铁道部门的售票总量还是会线性增加(带宽增加)。
这就类似于存储系统中, IOPS和带宽之间的关系:
写入10000个1KB文件,用时10秒 Throught(带宽)=1MB/s ,IOPS=1000
写入1个1MB文件,用时0.1秒 Throught(带宽)=10MB/s, IOPS=10
由此可见,
传输大容量连续数据,适合以带宽为标准,选择高带宽存储系统
传输小块、不连续数据,如OLTP、数据库应用、邮件服务器等,适合以IOPS为标准,选择高IOPS存储系统
以上所举的例子,只是类似于存储系统中顺序I/O的情况,实际存储中的情况还有随机读、随机写I/O等情况,远比这个例子复杂。这里不做讨论。但这个例子的一些结论,还是可以借鉴并有助于理解存储I/O和性能、带宽等之间的关系。
相关文章推荐
- toolbar easyui
- !!的使用
- git 常用操作一览图
- 多态与虚函数编程题 #2(C++程序设计第6周)
- 再议Swift操作符重载
- Winform自定义无边框窗体
- js 猜数字游戏
- system调用
- IP数据包格式
- 历程回顾
- 关于软工项目beta版本
- 2015年的倒数第10天新的一年就要开始了,加油,努力!
- Objective-C中的属性和实例变量
- 虚拟化三剑客专题-Hyper-V(下)
- 芒果iOS开发之App Transport Security has blocked a cleartext HTTP (http://) resource load since it is inse
- 算法设计题1.20-绪论-第1章-《数据结构习题集》-严蔚敏吴伟民版
- 算法设计题1.19-绪论-第1章-《数据结构习题集》-严蔚敏吴伟民版
- Hadoop教程(四)HDFS文件系统JavaAPI接口
- 解决 RHEL 7/ CentOS 7/Fedora 出现Unit iptables.service failed to load
- 算法设计题1.17-绪论-第1章-《数据结构习题集》-严蔚敏吴伟民版