怎么查看window 硬盘读写性能

怎么查看window 硬盘读写性能,第1张

Windows性能计数器--磁盘性能分析Disk

Physical Disk:

单次IO大小

AvgDisk Bytes/Read

AvgDisk Bytes/Write

IO响应时间

AvgDisk sec/Read

AvgDisk sec/Write

IOPS

DiskReads/sec

DiskWrites/sec

DiskTransfers/sec

IO吞吐率

DiskBytes/sec

DiskRead Bytes/sec

DiskWrite Bytes/sec

磁盘有两个重要的参数:Seek time、Rotational latency。

正常的I/O计数为:①1000/(Seek time+Rotational latency)075,在此范围内属正常。当达到85%的I/O计数以上时则基本认为已经存在I/O瓶颈。理论情况下,磁盘的随机读计数为125、 顺序读计数为225。对于数据文件而言是随机读写,日志文件是顺序读写。因此,数据文件建议存放于RAID5上,而日志文件存放于RAID10或 RAID1中。

附:

15000 RPM:150随机IOPS

10000 RPM:110随机IOPS

5400 RPM:50随机IOPS

下面假设在有4块硬盘的RAID5中观察到的Physical Disk性能对象的部分值:

Avg DiskQueue Length 12 队列长度

Avg DiskSec/Read 035 读数据所用时间ms

Avg DiskSec/Write 045 写数据所用时间ms

DiskReads/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 disks

Raid 1 -- I/Os per disk = [reads +(2 writes)] / 2

Raid 5 -- I/Os per disk = [reads +(4 writes)] / number of disks

Raid 10 -- I/Os per disk = [reads +(2 writes)] / number of disks

我们得到的结果是:(320+400)/4=180,这时你可以根据公式①来得到磁盘的正常I/O值。假设现在正常I/O计数为125,为了达到这个结果:720/125=576。就是说要用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),不管是SQL Server还是Oracle,默认的块大小都是8KB,就是数据库每次读写都是以8k为单位的。那么对于数据库应用发出的固定8k大小的单次读写到了写磁盘这个层面会是怎么样的呢,就是对于读写磁盘来说单个IO操作操作数据的大小是多少呢,是不是也是一个固定的值看答案是不确定。首先操作系统为了提高 IO的性能而引入了文件系统缓存(File System Cache),系统会根据请求数据的情况将多个来自IO的请求先放在缓存里面,然后再一次性的提交给磁盘,也就是说对于数据库发出的多个8K数据块的读操作有可能放在一个磁盘读IO里就处理了。还有对于有些存储系统也是提供了缓存(Cache)的,接收到操作系统的IO请求之后也是会将多个操作系统的 IO请求合并成一个来处理。不管是操作系统层面的缓存还是磁盘控制器层面的缓存,目的都只有一个,提高数据读写的效率。因此每次单独的IO操作大小都是不一样的,它主要取决于系统对于数据读写效率的判断。

当一次IO操作大小比较小的时候我们成为小的IO操作,比如说1K,4K,8K这样的;当一次IO操作的数据量比较的的时候称为大IO操作,比如说32K,64K甚至更大。

在我们说到块大小(Block Size)的时候通常我们会接触到多个类似的概念,像我们上面提到的那个在数据库里面的数据最小的管理单位,Oralce称之为块(Block),大小一般为8K,SQL Server称之为页(Page),一般大小也为8k。在文件系统里面我们也能碰到一个文件系统的块,在现在很多的Linux系统中都是4K(通过 /usr/bin/time -v可以看到),它的作用其实跟数据库里面的块/页是一样的,都是为了方便数据的管理。但是说到单次IO的大小,跟这些块的大小都是没有直接关系的,在英文里单次IO大小通常被称为是IO Chunk Size,不会说成是IO Block Size的。

IOPS(IO per Second)

IOPS,IO系统每秒所执行IO操作的次数,是一个重要的用来衡量系统IO能力的一个参数。对于单个磁盘组成的IO系统来说,计算它的IOPS不是一件很难的事情,只要我们知道了系统完成一次IO所需要的时间的话我们就能推算出系统IOPS来。

现在我们就来推算一下磁盘的IOPS,假设磁盘的转速(Rotational Speed)为15K RPM,平均寻道时间为5ms,最大传输速率为40MB/s(这里将读写速度视为一样,实际会差别比较大)。

对于磁盘来说一个完整的IO操作是这样进行的:当控制器对磁盘发出一个IO操作命令的时候,磁盘的驱动臂(ActuatorArm)带读写磁头(Head)离开着陆区(LandingZone,位于内圈没有数据的区域),移动到要操作的初始数据块所在的磁道(Track)的正上方,这个过程被称为寻址(Seeking),对应消耗的时间被称为寻址时间(SeekTime);但是找到对应磁道还不能马上读取数据,这时候磁头要等到磁盘盘片(Platter)旋转到初始数据块所在的扇区(Sector)落在读写磁头正上方的之后才能开始读取数据,在这个等待盘片旋转到可操作扇区的过程中消耗的时间称为旋转延时(RotationalDelay);接下来就随着盘片的旋转,磁头不断的读/写相应的数据块,直到完成这次IO所需要操作的全部数据,这个过程称为数据传送(DataTransfer),对应的时间称为传送时间(TransferTime)。完成这三个步骤之后一次IO操作也就完成了。

在我们看硬盘厂商的宣传单的时候我们经常能看到3个参数,分别是平均寻址时间、盘片旋转速度以及最大传送速度,这三个参数就可以提供给我们计算上述三个步骤的时间。

第一个寻址时间,考虑到被读写的数据可能在磁盘的任意一个磁道,既有可能在磁盘的最内圈(寻址时间最短),也可能在磁盘的最外圈(寻址时间最长),所以在计算中我们只考虑平均寻址时间,也就是磁盘参数中标明的那个平均寻址时间,这里就采用当前最多的10krmp硬盘的5ms。

第二个旋转延时,和寻址一样,当磁头定位到磁道之后有可能正好在要读写扇区之上,这时候是不需要额外额延时就可以立刻读写到数据,但是最坏的情况确实要磁盘旋转整整一圈之后磁头才能读取到数据,所以这里我们也考虑的是平均旋转延时,对于10krpm的磁盘就是(60s/15k)(1/2)= 2ms。

第三个传送时间,磁盘参数提供我们的最大的传输速度,当然要达到这种速度是很有难度的,但是这个速度却是磁盘纯读写磁盘的速度,因此只要给定了单次IO的大小,我们就知道磁盘需要花费多少时间在数据传送上,这个时间就是IOChunk Size / Max Transfer Rate。

现在我们就可以得出这样的计算单次IO时间的公式:

IO Time = Seek Time + 60 sec/Rotational Speed/2 + IO ChunkSize/Transfer Rate

于是我们可以这样计算出IOPS

IOPS = 1/IO Time = 1/(Seek Time + 60 sec/Rotational Speed/2 + IOChunk Size/Transfer Rate)

对于给定不同的IO大小我们可以得出下面的一系列的数据

4K (1/71 ms = 140 IOPS)

5ms + (60sec/15000RPM/2) + 4K/40MB = 5 + 2 + 01 = 71

8k (1/72 ms = 139 IOPS)

5ms + (60sec/15000RPM/2) + 8K/40MB = 5 + 2 + 02 = 72

16K (1/74 ms = 135 IOPS)

5ms + (60sec/15000RPM/2) + 16K/40MB = 5 + 2 + 04 = 74

32K (1/78 ms = 128 IOPS)

5ms + (60sec/15000RPM/2) + 32K/40MB = 5 + 2 + 08 = 78

64K (1/86 ms = 116 IOPS)

5ms + (60sec/15000RPM/2) + 64K/40MB = 5 + 2 + 16 = 86

从上面的数据可以看出,当单次IO越小的时候,单次IO所耗费的时间也越少,相应的IOPS也就越大。

上面我们的数据都是在一个比较理想的假设下得出来的,这里的理想的情况就是磁盘要花费平均大小的寻址时间和平均的旋转延时,这个假设其实是比较符合我们实际情况中的随机读写,在随机读写中,每次IO操作的寻址时间和旋转延时都不能忽略不计,有了这两个时间的存在也就限制了IOPS的大小。现在我们考虑一种相对极端的顺序读写操作,比如说在读取一个很大的存储连续分布在磁盘的文件,因为文件的存储的分布是连续的,磁头在完成一个读IO操作之后,不需要从新的寻址,也不需要旋转延时,在这种情况下我们能到一个很大的IOPS值,如下

4K (1/01 ms = 10000 IOPS)

0ms + 0ms + 4K/40MB = 01

8k (1/02 ms = 5000 IOPS)

0ms + 0ms + 8K/40MB = 02

16K (1/04 ms = 2500 IOPS)

0ms + 0ms + 16K/40MB = 04

32K (1/08 ms = 1250 IOPS)

0ms + 0ms + 32K/40MB = 08

64K (1/16 ms = 625 IOPS)

0ms + 0ms + 64K/40MB = 16

相比第一组数据来说差距是非常的大的,因此当我们要用IOPS来衡量一个IO系统的系能的时候我们一定要说清楚是在什么情况的IOPS,也就是要说明读写的方式以及单次IO的大小,当然在实际当中,特别是在OLTP的系统的,随机的小IO的读写是最有说服力的。

传输速度(Transfer Rate)/吞吐率(Throughput)

现在我们要说的传输速度(另一个常见的说法是吞吐率)不是磁盘上所表明的最大传输速度或者说理想传输速度,而是磁盘在实际使用的时候从磁盘系统总线上流过的数据量。有了IOPS数据之后我们是很容易就能计算出对应的传输速度来的

Transfer Rate = IOPS IO Chunk Size

还是那上面的第一组IOPS的数据我们可以得出相应的传输速度如下

4K: 140 4K = 560K / 40M = 136%

8K: 139 8K = 1112K / 40M = 271%

16K: 135 16K = 2160K / 40M = 527%

32K: 116 32K = 3712K / 40M = 906%

可以看出实际上的传输速度是很小的,对总线的利用率也是非常的小。

这里一定要明确一个概念,那就是尽管上面我们使用IOPS来计算传输速度,但是实际上传输速度和IOPS是没有直接关系,在没有缓存的情况下它们共同的决定因素都是对磁盘系统的访问方式以及单个IO的大小。对磁盘进行随机访问时候我们可以利用IOPS来衡量一个磁盘系统的性能,此时的传输速度不会太大;但是当对磁盘进行连续访问时,此时的IOPS已经没有了参考的价值,这个时候限制实际传输速度却是磁盘的最大传输速度。因此在实际的应用当中,只会用IOPS 来衡量小IO的随机读写的性能,而当要衡量大IO连续读写的性能的时候就要采用传输速度而不能是IOPS了。

IO响应时间(IOResponse Time)

最后来关注一下能直接描述IO性能的IO响应时间。IO响应时间也被称为IO延时(IOLatency),IO响应时间就是从操作系统内核发出的一个读或者写的IO命令到操作系统内核接收到IO回应的时间,注意不要和单个IO时间混淆了,单个IO时间仅仅指的是IO操作在磁盘内部处理的时间,而IO响应时间还要包括IO操作在IO等待队列中所花费的等待时间。

计算IO操作在等待队列里面消耗的时间有一个衍生于利托氏定理(Little’sLaw)的排队模型M/M/1模型可以遵循,由于排队模型算法比较复杂,到现在还没有搞太明白(如果有谁对M/M/1模型比较精通的话欢迎给予指导),这里就罗列一下最后的结果,还是那上面计算的IOPS数据来说:

8K IO Chunk Size (135 IOPS, 72 ms)

135 => 2400 ms

105 => 295 ms

75 => 157 ms

45 => 106 ms

64K IO Chunk Size(116 IOPS, 86 ms)

135 => 没响应了……

105 => 886 ms

75 => 246 ms

45 => 146 ms

从上面的数据可以看出,随着系统实际IOPS越接近理论的最大值,IO的响应时间会成非线性的增长,越是接近最大值,响应时间就变得越大,而且会比预期超出很多。一般来说在实际的应用中有一个70%的指导值,也就是说在IO读写的队列中,当队列大小小于最大IOPS的70%的时候,IO的响应时间增加会很小,相对来说让人比较能接受的,一旦超过70%,响应时间就会戏剧性的暴增,所以当一个系统的IO压力超出最大可承受压力的70%的时候就是必须要考虑调整或升级了。

另外补充说一下这个70%的指导值也适用于CPU响应时间,这也是在实践中证明过的,一旦CPU超过70%,系统将会变得受不了的慢。很有意思的东西。

从上一篇文章的计算中我们可以看到一个15k转速的磁盘在随机读写访问的情况下IOPS竟然只有140左右,但在实际应用中我们却能看到很多标有5000IOPS甚至更高的存储系统,有这么大IOPS的存储系统怎么来的呢看这就要归结于各种存储技术的使用了,在这些存储技术中使用最广的就是高速缓存(Cache)和磁盘冗余阵列(RAID)了,本文就将探讨缓存和磁盘阵列提高存储IO性能的方法。

高速缓存(Cache)

在当下的各种存储产品中,按照速度从快到慢应该就是内存>闪存>磁盘>磁带了,然而速度越快也就意味着价格越高,闪存虽然说是发展势头很好,但目前来说却还是因为价格问题无法普及,因此现在还是一个磁盘作霸王的时代。与CPU和内存速度相比,磁盘的速度无疑是计算机系统中最大的瓶颈了,所以在必须使用磁盘而又想提高性能的情况下,人们想出了在磁盘中嵌入一块高速的内存用来保存经常访问的数据从而提高读写效率的方法来折中的解决,这块嵌入的内存就被称为高速缓存。

说到缓存,这东西应用现在已经是无处不在,从处于上层的应用,到操作系统层,再到磁盘控制器,还有CPU内部,单个磁盘的内部也都存在缓存,所有这些缓存存在的目的都是相同的,就是提高系统执行的效率。当然在这里我们只关心跟IO性能相关的缓存,与IO性能直接相关的几个缓存分别是文件系统缓存(FileSystem Cache)、磁盘控制器缓存(DiskController Cache)和磁盘缓存(DiskCache,也称为DiskBuffer),不过当在计算一个磁盘系统性能的时候文件系统缓存也是不会考虑在内的,因此我们重点考察的就是磁盘控制器缓存和磁盘缓存。

不管是控制器缓存还是磁盘缓存,他们所起的作用主要是分为三部分:缓存数据、预读(Read-ahead)和回写(Write-back)。

缓存数据

首先是系统读取过的数据会被缓存在高速缓存中,这样下次再次需要读取相同的数据的时候就不用在访问磁盘,直接从缓存中取数据就可以了。当然使用过的数据也不可能在缓存中永久保留的,缓存的数据一般那是采取LRU算法来进行管理,目的是将长时间不用的数据清除出缓存,那些经常被访问的却能一直保留在缓存中,直到缓存被清空。

预读

预读是指采用预读算法在没有系统的IO请求的时候事先将数据从磁盘中读入到缓存中,然后在系统发出读IO请求的时候,就会实现去检查看看缓存里面是否存在要读取的数据,如果存在(即命中)的话就直接将结果返回,这时候的磁盘不再需要寻址、旋转等待、读取数据这一序列的操作了,这样是能节省很多时间的;如果没有命中则再发出真正的读取磁盘的命令去取所需要的数据。

缓存的命中率跟缓存的大小有很大的关系,理论上是缓存越大的话,所能缓存的数据也就越多,这样命中率也自然越高,当然缓存不可能太大,毕竟成本在那儿呢。如果一个容量很大的存储系统配备了一个很小的读缓存的话,这时候问题会比较大的,因为小缓存的数据量非常小,相比整个存储系统来说比例非常低,这样随机读取(数据库系统的大多数情况)的时候命中率也自然就很低,这样的缓存不但不能提高效率(因为绝大部分读IO都还要读取磁盘),反而会因为每次去匹配缓存而浪费时间。

执行读IO操作是读取数据存在于缓存中的数量与全部要读取数据的比值称为缓存命中率(ReadCache Hit Radio),假设一个存储系统在不使用缓存的情况下随机小IO读取能达到150IOPS,而它的缓存能提供10%的缓存命中率的话,那么实际上它的IOPS可以达到150/(1-10%)=166。

回写

首先说一下,用于回写功能的那部分缓存被称为写缓存(WriteCache)。在一套写缓存打开的存储中,操作系统所发出的一系列写IO命令并不会被挨个的执行,这些写IO的命令会先写入缓存中,然后再一次性的将缓存中的修改推到磁盘中,这就相当于将那些相同的多个IO合并成一个,多个连续操作的小IO合并成一个大的IO,还有就是将多个随机的写IO变成一组连续的写IO,这样就能减少磁盘寻址等操作所消耗的时间,大大的提高磁盘写入的效率。

读缓存虽然对效率提高是很明显的,但是它所带来的问题也比较严重,因为缓存和普通内存一样,掉点以后数据会全部丢失,当操作系统发出的写IO命令写入到缓存中后即被认为是写入成功,而实际上数据是没有被真正写入磁盘的,此时如果掉电,缓存中的数据就会永远的丢失了,这个对应用来说是灾难性的,目前解决这个问题最好的方法就是给缓存配备电池了,保证存储掉电之后缓存数据能如数保存下来。

和读一样,写缓存也存在一个写缓存命中率(WriteCache Hit Radio),不过和读缓存命中情况不一样的是,尽管缓存命中,也不能将实际的IO操作免掉,只是被合并了而已。

控制器缓存和磁盘缓存除了上面的作用之外还承当着其他的作用,比如磁盘缓存有保存IO命令队列的功能,单个的磁盘一次只能处理一个IO命令,但却能接收多个IO命令,这些进入到磁盘而未被处理的命令就保存在缓存中的IO队列中。

RAID(Redundant Array Of InexpensiveDisks)

如果你是一位数据库管理员或者经常接触服务器,那对RAID应该很熟悉了,作为最廉价的存储解决方案,RAID早已在服务器存储中得到了普及。在RAID的各个级别中,应当以RAID10和RAID5(不过RAID5已经基本走到头了,RAID6正在崛起中,看看这里了解下原因)应用最广了。下面将就RAID0,RAID1,RAID5,RAID6,RAID10这几种级别的RAID展开说一下磁盘阵列对于磁盘性能的影响,当然在阅读下面的内容之前你必须对各个级别的RAID的结构和工作原理要熟悉才行,这样才不至于满头雾水,推荐查看wikipedia上面的如下条目:RAID,StandardRAID levels,Nested RAID levels。

目前使用服务器的站长和企业也比较多,也许有人会觉得二者差不多。从表面上看,服务器和我们日常用的PC电脑都是由CPU、内存、硬盘等部分组成,那么,服务器与普通电脑有什么区别呢?

1、服务器CPU设计的可连续运行时间长,基本都是设计为能常年连续工作的,而普通桌面级CPU是按72个小时连续工作而设计的。

2、服务器CPU支持多路互联,简单的说就是1台机器可装很多CPU,普通桌面级CPU不支持这种工作方式。

3、服务器CPU往往首先运用先进的技术如近期才在普通桌面级CPU出现L3缓存,服务器CPU很早就运用了。

4、内部指令集二者也会根据不同有所差异。

5、二者接口也不同,一般PC电脑放在自己家里,拉的普通宽带;而服务器都放在机房,大带宽接入。

6、性能:服务器需要及时响应众多客户端的请求,并提供相应服务,PC一般只由少数人操作;尤其是网络性能,对PC来讲如果不联网,没有网卡,PC仍是PC,而对服务器来讲没有网卡就不是服务器了,因为,服务器的定义就是在网络中给其它计算机提供服务的计算机系统。

7、图形显示、键盘和鼠标的要求:普通台式机和显示器、键鼠等都是一对一的,而且,一般对显卡性能有要求,服务器不直接和用户交互对显卡性能基本无要求,一般键盘鼠标显示器是多台共用的。

8、扩展性:PC一般不需要很多外插卡,对扩展性要求不高,而服务器一般需要考虑增加网卡、RAID卡、HBA卡等;另外,扩展性还包括,内存、硬盘等存储位、电源,甚至是CPU的扩展,这些更是服务器的特性。

服务器CPU入门级的一般是对普通CPU做了服务器化,支持多路互联和长时间等,性能没有提升,价格更高。高端则是运用大量的先进技术,价格贵。在机房进行服务器租用和服务器托管业务的服务器CPU一般不适合家用和娱乐,由于其自身特性,价格高反而游戏等性能低,日常家用也不会连续运行一周以上吧。

D2T (Disk to Tape)方式是传统保存备份数据方式,基本数据流程为:备份服务器按照既定策略,在相应时间发出控制命令,将生产服务器主盘的数据通过LAN或SAN备份到磁带机或磁带库中。随着磁带机及磁带技术的发展,磁带机的读/写速度及磁带容量已有了突飞猛进的发展,但由于磁带机及磁带是机械设备,其固有的上载、定位、下载、顺序读/写等特性,决定了当用户数量大、备份主机数目较多时,备份或恢复速度仍然较慢,尤其对大数据量的恢复。2 D2D保存备份数据方式随着基于SATA磁盘技术的戍熟及价格的下降, D2D (Disk to Disk)方式正逐渐被越来越多的用户采用,基本数据流程为:备份服务器按照既定策略,在相应时间发出控制命令,将生产服务器主盘的数据通过LAN或SAN备份到相应的磁盘设备中。3 D2D2T保存备份数据方式D2D2T (Disk to Disk to Tape)方式结合了传统磁带的离线管理和磁盘高速备份恢复的特性,基本数据流程为:备份服务器按照既定策略,在相应时间发出控制命令,将生产服务器主盘的数据通过LAN或SAN备份到相应的磁盘设备中。由相应生产主机或备份服务器(依备份架构而定)在既定时间自动将保存在备份磁盘中的数据复制到磁带库中。同时,缩短磁盘中相应备份数据的保存备份数据周期,从而可以将其覆盖新的备份数据,释放了备份磁盘的空间。

顺序:寄存器>高速缓存器>内存>硬盘=>光盘=>优盘=>软盘 主储存器 >RAM >ROM> 内存 >硬盘=>光盘=>U盘>软盘 >硬磁盘>软磁盘>磁带。

寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。

扩展资料:

在计算机领域,寄存器是CPU内部的元件,包括通用寄存器、专用寄存器和控制寄存器。寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。

Cortex-M4总共有18个寄存器,相比传统ARM(如ARM7/ARM9/Cortex-A系列)的38个寄存器已减少很多,减少了内核核心面积(Die-size)。

对于编译器非常友好易用,例如:包含灵活的寄存器配置,任意寄存器之间可实现单周期乘法,任意寄存器可以作为数据、结构或数组的指针。此外,Cortex-M4还包含4个特殊功能寄存器PRIMASK、FAUI。TMASK、BASEPRI和CONTROL。

首先你要看你的备份方式 ,到底是属于哪种。

磁带机备份数据 优势在于 容量越大成本越低;保存时间长久;缺点在于基本上都要人工去换磁带;读写速度很慢; 但是你一次要备份1TB的数据 ,对磁带来说 ,是很麻烦的,要好多张磁带才能达到1TB ;

目前比较理想的就是用一个NAS 系统,做RAID5 ,传输方面用千兆网络 ,计划任务空闲时备份;

NAS系统是由硬盘组成的,如果NAS 支持iscsi协议就更好了;用iscsi 来做一个固定的

网络硬盘; 硬盘组成的NAS 要达到 4TB 以上是很容易的事,做个6TB的

周期性完整备份;每天备份一次,哪一周内的数据变化都会在硬盘里面;

如果不想买那么大的硬盘,那就只有做 增量或者差异备份了;基本上也能

达到上面的效果,只是操作步骤不同;

  根据装带方式的不同,一般分为手动装带磁带机和自动装带磁带机,即自动加载磁带机。目前提供磁带机的厂商很多,IT厂商中HP(惠普)、IBM、Exabyte(安百特)等均有磁带机产品,另外专业的存储厂商如StorageTek、ADIC、Spectra Logic等公司均以磁带机、磁带库等为主推产品。 自动加载磁带机实际上是将磁带和磁带机有机结合组成的。自动加载磁带机是一个位于单机中的磁带驱动器和自动磁带更换装置,它可以从装有多盘磁带的磁带匣中拾取磁带并放入驱动器中,或执行相反的过程。它可以备份100GB-200GB或者更多的数据。自动加载磁带机能够支持例行备份过程,自动为每日的备份工作装载新的磁带。一个拥有工作组服务器的小公司可以使用自动加载磁带机来自动完成备份工作。 磁带存储的工作原理 磁带是磁带存储系统是所有存储媒体中单位存储信息成本最低、容量最大、标准化程度最高的常用存储介质之一。它互换性好、易于保存,近年来由于采用了具有高纠错能力的编码技术和即写即读的通道技术,大大提高了磁带存储的可靠性和读写速度。根据读写磁带的工作原理可分为螺旋扫描技术、线性记录(数据流)技术、DLT技术以及比较先进的LTO技术 1、螺旋扫描读写技术: 以螺旋扫描方式读写磁带上数据的磁带读写技术与录像机基本相似,磁带缠绕磁鼓的大部分,并水平低速前进,而磁鼓在磁带读写过程中反向高速旋转,安装在磁鼓表面的磁头在旋转过程中完成数据的存取读写工作。其磁头在读写过程中与磁带保持15度倾角,磁道在磁带上以75度倾角平行排列。采用这种读写技术在同样磁带面积上可以获得更多的数据通道,充分利用了磁带的有效存储空间,因而拥有较高的数据存取密度。 2、线性记录读写技术: 以线性记录方式读写磁带上数据的磁带读写技术与录音机基本相同,平行于磁头的高速运动磁带掠过静止的磁头,进行数据记录或读出操作。这种技术可使驱动系统设计简单,读写速度较低,但由于数据在磁带上的记录轨迹与磁带两边平行,数据存储利用率较低。为了有效提高磁带的利用率和读写速度,人们研制出了多磁头平行读写方式,提高了磁带的记录密度和传输速率,但驱动器的设计变得极为复杂,成本也随之增加。 3、数字线性磁带技术技术: DLT是一种先进的存储技术标准,包括1/2英寸磁带、线性记录方式、专利磁带导入装置和特殊磁带盒等关键技术。利用DLT技术的磁带机,在带长为1828英尺、带宽为1/2英寸的磁带上具有128个磁道,使单磁带未压缩容量可高达20GB,压缩后容量可增加一倍。 4、线性开放式磁带技术技术: 这是由IBM、HP、Seagate三大存储设备制造公司共同支持的高新磁带处理技术,它可以极大地提高磁带备份数据量。LTO磁带可将磁带的容量提高到100GB,如果经过压缩可达到200GB。LTO技术不仅可以增加磁带的信道密度,还能在磁头和伺服结构方面进行全面改进,LTO技术采用了先进的磁道伺服跟踪系统来有效地监视和控制磁头的精确定位,防止相邻磁道的误写问题,达到提高磁道密度的目的。 磁带的种类 磁带根据读写磁带的工作原理,可以分为六种规格。其中两种采用螺旋扫描读写方式的是面向工作组级的DAT(4mm)磁带机和面向部门级的8mm磁带机,另外四种则是选用数据流存储技术设计的设备,它们分别是采用单磁头读写方式、磁带宽度为1/4英寸、面向低端应用的Travan和DC系列,以及采用多磁头读写方式、磁带宽度均为1/2英寸、面向高端应用的DLT和IBM的3480/3490/3590系列等。 1/4英寸带卷磁带: QIC(Quarter Inch Cartridge:1/4英寸带卷)磁带是一种带宽为1/4英寸,配有带盒的盒式磁带,也叫1/4英寸磁带。它有两种规格,即DC6000和DC2000。其中DC6000磁带的驱动器是525英寸,已淘汰。而DC2000磁带的驱动器只有35英寸,驱动器价格低,标准化程度高,生产厂家多相互兼容,一盒DC2000磁带的存储容量一般为400MB,是目前应用较多的磁带之一。 数字音频磁带: DAT(Digital Audio Tape:数字音频磁带)磁带,磁带宽为015英寸(4mm),又叫4mm磁带。由于该磁带存储系统采用了螺旋扫描技术,使得该磁带具有很高的存储容量。DAT磁带系统一般都采用了即写即读和压缩技术,既提高了系统的可靠性和数据传输率,又提高了存储容量。目前一盒DAT磁带的存储容量可达到12GB,同时DAT磁带和驱动器的生产厂商较多是一种很有前途的数据备份产品。 8mm磁带: 是一种仅由Exabyte公司开发、适合于大中型网络和多用户系统的大容量磁带。8mm磁带及其驱动器也采用了螺旋扫描技术,而且磁带较宽,因而存储容量极高,一盒磁带的最高容量可达14GB。但品牌单一,种类较少。 1/2英寸磁带: 该类磁带又分为DLT(数字线性磁带)磁带和IBM3480/3490/3590系列磁带两类。由于DLT磁带技术发展较快,已成为网络备份磁带机和磁带库系统的重要标准,又因为容量大、速度高和独一无二的发展潜力,使其在中高备份系统中独占鳌头。DLT磁带每盒容量高达35GB,单位容量成本较低;IBM3480/3490/3590系列磁带是由IBM公司生产,每盒磁带的存储容量可达10GB,所对应的驱动系统实际上是一个磁带库,可以存放多盒磁带,其机械手可自动选择其中任意一盒磁带到驱动器上。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 怎么查看window 硬盘读写性能

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情