目录一、磁盘I/O的概念 1二、性能评价指标 1IOPS与吞吐量的关系 2三、I/O读写的类型 5大/小块I/O 5连续/随机I/O 5顺序/并发I/O 5四、磁盘I/O性能的监控 6topas 6nmon 7五、磁盘I/O性能调优 7确认磁盘I/O存在性能问题 7一、磁盘I/O的概念I/O的概念,从字义来理解就是输入输出。操作系统从上层到底层,各个层次之间均存在I/O。比如,CPU有I/O,内存有I/O,VMM有I/O,底层磁盘上也有I/O,这是广义上的I/O。通常来讲,一个上层的I/O可能会产生针对磁盘的多个I/O,也就是说,上层的I/O是稀疏的,下层的I/O是密集的。磁盘的I/O,顾名思义就是磁盘的输入输出。输入指的是对磁盘写入数据,输出指的是从磁盘读出数据。我们常见的磁盘类型有ATA、SATA、FC、SCSI、SAS,如图1所示。这几种磁盘中,服务器常用的是SAS和FC磁盘,一些高端存储也使用SSD盘。每一种磁盘的性能是不一样的。、性能评价指标SAN(work,存储区域网络)workAttachedStorage,网络附加存储)一般都具备2个评价指标:IOPS和带宽(throughput),两个指标互相独立又相互关联。体现存储系统性能的最主要指标是IOPS。下面,将介绍一下这两个参数的含义。IOPS (Input/OutputPerSecond)即每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指标之一。IOPS是指单位时间内系统能处理的I/O请求数量,I/O请求通常为读或写数据操作请求。随机读写频繁的应用,如OLTP(ransactionProcessing),IOPS是关键衡量指标。另一个重要指标是数据吞吐量(Throughput),指单位时间内可以成功传输的数据数量。对于大量顺序读写的应用,如VOD(VideoOnDemand),则更关注吞吐量指标。简而言之:磁盘的IOPS,也就是在一秒内,磁盘进行多少次I/O读写。磁盘的吞吐量,也就是每秒磁盘I/O的流量,即磁盘写入加上读出的数据的大小。IOPS与吞吐量的关系每秒I/O吞吐量=IOPS*平均I/OSIZE。从公式可以看出:I/OSIZE越大,IOPS越高,那么每秒I/O的吞吐量就越高。因此,我们会认为IOPS和吞吐量的数值越高越好。实际上,对于一个磁盘来讲,这两个参数均有其最大值,而且这两个参数也存在着一定的关系。IOPS可细分为如下几个指标:,混合读写和顺序随机I/O负载情况下的磁盘IOPS,这个与实际I/O情况最为相符,大多数应用关注此指标。,100%随机读负载情况下的IOPS。,100%随机写负载情况下的IOPS。,100%顺序读负载情况下的IOPS。,100%顺序写负载情况下的IOPS。下图为一个典型的NFS测试结果:IOPS的测试benchmark工具主要有Iometer,IoZone,FIO等,可以综合用于测试磁盘在不同情形下的IOPS。对于应用系统,需要首先确定数据的负载特征,然后选择合理的IOPS指标进行测量和对比分析,据此选择合适的存储介质和软件系统。IOPS计算公式对于磁盘来说一个完整的IO操作是这样进行的:当控制器对磁盘发出一个IO操作命令的时候,磁盘的驱动臂(ActuatorArm)带读写磁头(Head)离开着陆区(LandingZone,位于内圈没有数据的区域),移动到要操作的初始数据块所在的磁道(Track)的正上方,这个过程被称为寻址(Seeking),对应消耗的时间被称为寻址时间(SeekTime);但是找到对应磁道还不能马上读取数据,这时候磁头要等到磁盘盘片(Platter)旋转到初始数据块所在的扇区(Sector)落在读写磁头正上方的之后才能开始读取数据,在这个等待盘片旋转到可操作扇区的过程中消耗的时间称为旋转延时(RotationalDelay);接下来就随着盘片的旋转,磁头不断的读/写相应的数据块,直到完成这次IO所需要操作的全部数据,这个过程称为数据传送(DataTransfer),对应的时间称为传送时间(TransferTime)。完成这三个步骤之后一次IO操作也就完成了。在我们看硬盘厂商的宣传单的时候我们经常能看到3个参数,分别是平均寻址时间、盘片旋转速度以及最大传送速度,这三个参数就可以提供给我们计算上述三个步骤的时间。第一个寻址时间,考虑到被读写的数据可能在磁盘的任意一个磁道,既有可能在磁盘的最内圈(寻址时间最短),也可能在磁盘的最外圈(寻址时间最长),所以在计算中我们只考虑平均
磁盘性能评价指标—IOPS和吞吐量 来自淘豆网m.daumloan.com转载请标明出处.