首页 > 大数据 > 数据存储框架08

数据存储框架08

2019年12月4日 17点32分

IOPS,即Input Output Per Second的缩写,表示每秒处理的输入/输出(I/O)次数; 单位时间内系统能处理的I/O请求数量。I/O请求通常为读或者写数据操作请求。

关注IOPS的应用: 随机读写频繁的业务,如小文件存储、OLTP数据库、邮件服务器。这类应用关注随机读写性能,以IOPS为重要的衡量指标。例如,读取10000个1KB文件,用时10秒。IOPS=10000/10=1000,数据吞吐量Throught=1000KB/s约为1MB/s。

关于数据吞吐量的应用: 顺序读写频繁的业务,如传输大量连续数据、电视台的视频编辑,视频点播。这类应用关注连续读写性能,数据吞吐量是重要衡量的指标。例如,读取1个10MB文件,用时0.2秒。IOPS=1/0.2=5,数据吞吐量Throught=10/0.2约为50MB/s。

机械硬盘的服务时间。传统的磁盘为机械硬盘,接口有FC/SAS/SATA,转速通常为5200/7200/10K/15K三种。注意此处的转速单位是rpm,即每分钟的转速(不是每秒)。决定机械硬盘的重要指标是服务时间,即完成一次I/O请求所花费的时间。机械硬盘的服务时间=寻道时间+旋转延迟+数据传输时间。

机械硬盘的数据读写方式: 磁头移动到数据对应的磁道-电机将盘片旋转到数据所在扇区-读写数据

寻道时间TSeek:是读写磁头移动到正确磁道上所需的时间。平均为3-15ms。7200转的平均寻道时间为9ms,10K为6ms,15K为4ms。
旋转延迟Trotation:是盘片旋转将请求数据所在扇区移至磁头下方所需的时间。旋转延迟取决于硬盘的转速,通常使用磁盘旋转一周所需时间的1/2表示。比如7200转硬盘的平均旋转延迟= [60(1分钟)x1000(1秒=1000毫秒)/7200]x(1/2)=4.17ms。这个时间与希捷官网上标识的延迟4.16ms是相同的。实际计算结果为4.16666(6无限循环)。10K的旋转迟延为3ms,15K的旋转迟延为2ms。
数据传输时间Transfer:完成传输所请求数据的时间,取决于数据传输率。其值=数据大小/传输率。SATA硬盘的数据传输率为300MB/s。数据传输时间通常远小于前两部分(寻道时间+旋转延迟),在简单计算时可忽略。

理论IOPS,即在1秒(这个1秒是根据IOPS定义的时间单位:秒)内完成上述读写过程的次数。计算公式为:
IOPS = 1秒/(寻道时间+旋转延迟时间+数据传输时间),数据传输时间相对较小,可以忽略。
以7200转机械硬盘为例子: IOPS = 1000ms(1秒=1000ms)/(9+4.17)=1000/13.17=75.93即76次。
10K IOPS=1000/(6+3)=111,15K IOPS=1000/(4+2)=167。可见,要提高IOPS,可以通过分别减小寻道时间,增大碟片转速和增大数据传输率来实现。在实际测试中,IOPS受到很多因素的影响,包括I/O负载特征(读写比例、顺序和随机、工作线程数、队列深度、数据记录大小)、系统配置、操作系统、磁盘驱动等。测试IOPS,必须尽量在同一基准平台进行,尽管如此还是会有一定的随机性。

分类: 大数据 标签:
本文的评论功能被关闭了.