1.怎么查看window 硬盘读写性能
Windows性能计数器--磁盘性能分析DiskPhysical Disk:单次IO大小Avg.Disk Bytes/ReadAvg.Disk Bytes/WriteIO响应时间Avg.Disk sec/ReadAvg.Disk sec/WriteIOPSDiskReads/secDiskWrites/secDiskTransfers/secIO吞吐率DiskBytes/secDiskRead Bytes/secDiskWrite Bytes/sec磁盘有两个重要的参数:Seek time、Rotational latency。
正常的I/O计数为:①1000/(Seek time+Rotational latency)*0.75,在此范围内属正常。当达到85%的I/O计数以上时则基本认为已经存在I/O瓶颈。
理论情况下,磁盘的随机读计数为125、顺序读计数为225。对于数据文件而言是随机读写,日志文件是顺序读写。
因此,数据文件建议存放于RAID5上,而日志文件存放于RAID10或 RAID1中。 附:15000 RPM:150随机IOPS10000 RPM:110随机IOPS5400 RPM:50随机IOPS下面假设在有4块硬盘的RAID5中观察到的Physical Disk性能对象的部分值: Avg. DiskQueue Length 12 队列长度Avg. DiskSec/Read .035 读数据所用时间msAvg. DiskSec/Write .045 写数据所用时间msDiskReads/sec 320 每秒读数据量DiskWrites/sec 100 每秒写数据量Avg. DiskQueue Length,12/4=3,每块磁盘的平均队列建议不超过2。
Avg. DiskSec/Read一般不要超过11~15ms。 Avg. DiskSec/Write一般建议小于12ms。
从上面的结果,我们看到磁盘本身的I/O能力是满足我们的要求的,原因是因为有大量的请求才导致队列等待,这很可能是因为你的SQL语句导致大量的表扫描所致。在进行优化后,如果还是不能达到要求,下面的公式可以帮助你计算使用几块硬盘可以满足这样的并发要求:Raid 0 -- I/Os per disk = (reads +writes) / number of disksRaid 1 -- I/Os per disk = [reads +(2 * writes)] / 2Raid 5 -- I/Os per disk = [reads +(4 * writes)] / number of disksRaid 10 -- I/Os per disk = [reads +(2 * writes)] / number of disks 我们得到的结果是:(320+400)/4=180,这时你可以根据公式①来得到磁盘的正常I/O值。
假设现在正常I/O计数为125,为了达到这个结果:720/125=5.76。就是说要用6块磁盘才能达到这样的要求。
但是上面的Disk Reads/sec和Disk Writes/sec是个很难正确估算的值。因此只能在系统比较忙时,大概估算一个平均值,作为计算公式的依据。
另一个是你很难从客户那里得到Seek time、Rotational latency参数的值,这也只能用理论值125进行计算。前言作为一个数据库管理员,关注系统的性能是日常最重要的工作之一,而在所关注的各方面的性能只能IO性能却是最令人头痛的一块,面对着各种生涩的参数和令人眼花缭乱的新奇的术语,再加上存储厂商的忽悠,总是让我们有种云里雾里的感觉。
本系列文章试图从基本概念开始对磁盘存储相关的各种概念进行综合归纳,让大家能够对IO性能相关的基本概念,IO性能的监控和调整有个比较全面的了解。在这一部分里我们先舍弃各种结构复杂的存储系统,直接研究一个单独的磁盘的性能问题,藉此了解各个衡量IO系统系能的各个指标以及之间的关系。
几个基本的概念在研究磁盘性能之前我们必须先了解磁盘的结构,以及工作原理。不过在这里就不再重复说明了,关系硬盘结构和工作原理的信息可以参考维基百科上面的相关词条——Hard disk drive(英文)和硬盘驱动器(中文)。
读写IO(Read/Write IO)操作磁盘是用来给我们存取数据用的,因此当说到IO操作的时候,就会存在两种相对应的操作,存数据时候对应的是写IO操作,取数据的时候对应的是读IO操作。单个IO操作当控制磁盘的控制器接到操作系统的读IO操作指令的时候,控制器就会给磁盘发出一个读数据的指令,并同时将要读取的数据块的地址传递给磁盘,然后磁盘会将读取到的数据传给控制器,并由控制器返回给操作系统,完成一个写IO的操作;同样的,一个写IO的操作也类似,控制器接到写的IO操作的指令和要写入的数据,并将其传递给磁盘,磁盘在数据写入完成之后将操作结果传递回控制器,再由控制器返回给操作系统,完成一个写IO的操作。
单个IO操作指的就是完成一个写IO或者是读IO的操作。随机访问(Random Access)与连续访问(Sequential Access)随机访问指的是本次IO所给出的扇区地址和上次IO给出扇区地址相差比较大,这样的话磁头在两次IO操作之间需要作比较大的移动动作才能重新开始读/写数据。
相反的,如果当次IO给出的扇区地址与上次IO结束的扇区地址一致或者是接近的话,那磁头就能很快的开始这次IO操作,这样的多个IO操作称为连续访问。因此尽管相邻的两次IO操作在同一时刻发出,但如果它们的请求的扇区地址相差很大的话也只能称为随机访问,而非连续访问。
顺序IO模式(Queue Mode)/并发IO模式(BurstMode)磁盘控制器可能会一次对磁盘组发出一连串的IO命令,如果磁盘组一次只能执行一个IO命令时称为顺序IO;当磁盘组能同时执行多个IO命令时,称为并发IO。并发IO只能发生在由多个磁盘组成的磁盘组上,单块磁盘只能一次处理一个IO命令。
单个IO的大小(IO ChunkSize)熟悉数据库的人都会有这么一个概念,那就是数据库存储有个基本的块大小(Block Size),不。
转载请注明出处windows之家 » win10如何看硬盘读写速度