① 硬碟的性能參數有哪些
1.硬碟容量:
硬碟內部往往有多個疊起來的硬碟片,所以說硬碟容量=單碟容量×碟片數,單位為GB,硬碟容量當然是越大越好了,能夠裝下更多的數據。要特別表明的是,單碟容量對硬碟的功能也有必須的影響:單碟容量越大,硬碟的密度越高,磁頭在相似時間內能夠讀取到更多的信息,這就意味著讀取速度得以提高。
2.轉速:
硬碟轉速(Rotationspeed)對硬碟的數據傳輸率有直接的影響,從實踐上說,轉速越快越好,由於較高的轉速可縮減硬碟的均勻尋道時間和實踐讀寫時間,從而提高在硬碟上的讀寫速度;可任何事物都有兩面性,在轉速提高的同時,硬碟的發熱量也會添加,它的固定性就會有必須程度的降低。所以說我們應該在技術成熟的狀況下,盡量選用高轉速的硬碟。
3.緩存:
普通硬碟的均勻訪問時間為十幾毫秒,但RAM(內存)的速度要比硬碟快幾百倍。所以RAM通常會花大量的時間去等候硬碟讀出數據,從而也使CPU效率降低。於是,人們採用了高速緩沖存儲器(又叫高速緩存)技術來處理這個矛盾。簡單地說,硬碟上的緩存容量是越大越好,大容量的緩存對提高硬碟速度很有好處,不過提高緩存容量就意味著本錢上升。
4.均勻尋道時間(averageseektime):
意思是硬碟磁頭移動到數據所在磁軌時所用的時間,單位為毫秒(ms)。均勻訪問時間越短硬碟速度越快。
5.硬碟的數據傳輸率(Datatransferrate):
也稱吞吐率,它示意在磁頭定位後,硬碟讀或寫數據的速度。硬碟的數據傳輸率有兩個目標:
6.突發數據傳輸率(burstdatatransferrate):
也稱為外部傳輸率(externaltransferrate)或介面傳輸率,即微機系統匯流排與硬碟緩沖區之間的數據傳輸率。突發數據傳輸率與硬碟介面類型和硬碟緩沖區容量大小相關。
7.持續傳輸率(sustainedtransferrate):
也稱為內部傳輸率(Internaltransferrate),它反映硬碟緩沖區未用時的功能。內部傳輸率首要依託硬碟的轉速。
8.控制電路板:
上面首要集成了用於調理硬碟碟片轉速的主軸調速電路、控制磁頭的磁頭驅動與伺服電路和讀寫電路以及控制與介面電路等。除了這些保證硬碟基本功用的基本電路以外,新潮的硬碟上大多都尚有本人的自用電路,首要是提供S.M.A.R.T(Self- Monitoring,自我監測、分析和報告系統)的支持和各廠商本人開發的提高硬碟可靠性的技術的硬體上的支持。
② 如何使用windows性能監視器監控磁碟性能
Windows性能計數器--磁碟性能分析Disk
Physical Disk:
單次IO大小
Avg.Disk Bytes/Read
Avg.Disk Bytes/Write
IO響應時間
Avg.Disk sec/Read
Avg.Disk 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)*0.75,在此范圍內屬正常。當達到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=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),不管是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/7.1 ms = 140 IOPS)
5ms + (60sec/15000RPM/2) + 4K/40MB = 5 + 2 + 0.1 = 7.1
8k (1/7.2 ms = 139 IOPS)
5ms + (60sec/15000RPM/2) + 8K/40MB = 5 + 2 + 0.2 = 7.2
16K (1/7.4 ms = 135 IOPS)
5ms + (60sec/15000RPM/2) + 16K/40MB = 5 + 2 + 0.4 = 7.4
32K (1/7.8 ms = 128 IOPS)
5ms + (60sec/15000RPM/2) + 32K/40MB = 5 + 2 + 0.8 = 7.8
64K (1/8.6 ms = 116 IOPS)
5ms + (60sec/15000RPM/2) + 64K/40MB = 5 + 2 + 1.6 = 8.6
從上面的數據可以看出,當單次IO越小的時候,單次IO所耗費的時間也越少,相應的IOPS也就越大。
上面我們的數據都是在一個比較理想的假設下得出來的,這里的理想的情況就是磁碟要花費平均大小的定址時間和平均的旋轉延時,這個假設其實是比較符合我們實際情況中的隨機讀寫,在隨機讀寫中,每次IO操作的定址時間和旋轉延時都不能忽略不計,有了這兩個時間的存在也就限制了IOPS的大小。現在我們考慮一種相對極端的順序讀寫操作,比如說在讀取一個很大的存儲連續分布在磁碟的文件,因為文件的存儲的分布是連續的,磁頭在完成一個讀IO操作之後,不需要從新的定址,也不需要旋轉延時,在這種情況下我們能到一個很大的IOPS值,如下
4K (1/0.1 ms = 10000 IOPS)
0ms + 0ms + 4K/40MB = 0.1
8k (1/0.2 ms = 5000 IOPS)
0ms + 0ms + 8K/40MB = 0.2
16K (1/0.4 ms = 2500 IOPS)
0ms + 0ms + 16K/40MB = 0.4
32K (1/0.8 ms = 1250 IOPS)
0ms + 0ms + 32K/40MB = 0.8
64K (1/1.6 ms = 625 IOPS)
0ms + 0ms + 64K/40MB = 1.6
相比第一組數據來說差距是非常的大的,因此當我們要用IOPS來衡量一個IO系統的系能的時候我們一定要說清楚是在什麼情況的IOPS,也就是要說明讀寫的方式以及單次IO的大小,當然在實際當中,特別是在OLTP的系統的,隨機的小IO的讀寫是最有說服力的。
傳輸速度(Transfer Rate)/吞吐率(Throughput)
現在我們要說的傳輸速度(另一個常見的說法是吞吐率)不是磁碟上所表明的最大傳輸速度或者說理想傳輸速度,而是磁碟在實際使用的時候從磁碟系統匯流排上流過的數據量。有了IOPS數據之後我們是很容易就能計算出對應的傳輸速度來的
Transfer Rate = IOPS * IO Chunk Size
還是那上面的第一組IOPS的數據我們可以得出相應的傳輸速度如下
4K: 140 * 4K = 560K / 40M = 1.36%
8K: 139 * 8K = 1112K / 40M = 2.71%
16K: 135 * 16K = 2160K / 40M = 5.27%
32K: 116 * 32K = 3712K / 40M = 9.06%
可以看出實際上的傳輸速度是很小的,對匯流排的利用率也是非常的小。
這里一定要明確一個概念,那就是盡管上面我們使用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, 7.2 ms)
135 => 240.0 ms
105 => 29.5 ms
75 => 15.7 ms
45 => 10.6 ms
64K IO Chunk Size(116 IOPS, 8.6 ms)
135 => 沒響應了……
105 => 88.6 ms
75 => 24.6 ms
45 => 14.6 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(Rendant Array Of InexpensiveDisks)
如果你是一位資料庫管理員或者經常接觸伺服器,那對RAID應該很熟悉了,作為最廉價的存儲解決方案,RAID早已在伺服器存儲中得到了普及。在RAID的各個級別中,應當以RAID10和RAID5(不過RAID5已經基本走到頭了,RAID6正在崛起中,看看這里了解下原因)應用最廣了。下面將就RAID0,RAID1,RAID5,RAID6,RAID10這幾種級別的RAID展開說一下磁碟陣列對於磁碟性能的影響,當然在閱讀下面的內容之前你必須對各個級別的RAID的結構和工作原理要熟悉才行,這樣才不至於滿頭霧水,推薦查看wikipedia上面的如下條目:RAID,StandardRAID levels,Nested RAID levels。
③ 硬碟的主要性能指標有哪幾種
硬碟的主要性能指標包括硬碟容量、硬碟速度、硬碟轉速、介面、緩存、硬碟單碟容量。具體如下:
1、第一個比較重要的性能指標就是單碟容量。由於電腦硬碟是有一個或者幾個碟片組成的,單碟容量越高,說明該廠家生產碟片的集成度很高,從側面也可以反映該廠家生產硬碟的能力很高。
④ 優化硬碟性能的方法有哪些以及具體如何優化
簡單的說可以定期進行磁碟分析清理,或者下載第三方軟體清理磁碟垃圾。
⑤ 如何測剛買的固態硬碟 好壞速度
1、首先下載一個CrystalDiskInfo軟體,查看一下硬碟使用情況,主要看通電次數、寫入量,擦出計數等判斷是否是新盤。
要想測試出最佳性能,SSD硬碟最好作為從盤並且沒進行數據寫入,4K對齊,開啟ACHI,關閉節能(包括BIOS里關閉C1E,系統中電源管理中運行在高性能),安裝好IASTOR驅動(AMD主板用windows系統默認的就可以),如果CPU可以超頻的話最好超頻,這樣就能測出比較高的性能。
⑥ 電腦磁碟問題
硬碟故障診斷與數據恢復
無論是對於家庭用戶,還是對於那些使用計算機作為工作工具的用戶來說,硬碟在一部計算機中無疑是最重要的部件。用戶可以在一塊小小的硬碟上存儲大量的數據,這足以為用戶的日常生活帶來極大的方便。此外,隨著技術的不斷改進,硬碟的存儲容量突飛猛進的增長,並且在今後將繼續增長,而每兆位元組容量的成本也在不斷的下降,這使得硬碟在提高容量的同時成本卻反而下降了。但其可靠性也降低了,當數據丟失時,數據恢復工作顯的相當重要!
然而不幸的是,從發明硬碟至今,硬碟內部的根本技術變動很小,這意味著硬碟固有的脆弱性依然沒有得到根本的改善。最明顯的事實就是,硬碟仍然屬於一種機械設備,內部仍然由轉軸、磁頭等機械部件組成。也正是因為這一點,硬碟出故障是遲早的事情,誰也無法數據恢復
數據恢復 當然,很多計算機部件完全都是由電子元件組成的,沒有移動部件,但是盡管如此,它們的使用壽命也是不確定的。它們也可能出現故障,但是它們不會受到機械磨損。導致它們出故障通常都是外部的原因,例如電流、電壓脈沖等等。與此不同的是,即使硬碟工作在一個給定的受控的環境下,它多多少少都會受到機械磨損,它的使用壽命具有可預期性的特點。也正因為如此,如果在硬碟中存儲的數據非常重要,那麼就有必要經常對硬碟中的數據進行備份。硬碟要出故障的時候它是不會事先通知你的!
數據恢復在計算機各組成部件中,硬碟的生產商所提供的質量保證服務以及維修服務是最好的,但是盡管如此,沒有任何一家製造商敢對硬碟中的數據安全提供任何擔保。
值得慶幸的是,很多技術人員開始針對硬碟的各種故障編寫了各種軟體工具,我們可以在硬碟完全死掉之前,使用這些工具拯救硬碟中的數據!本文我們首先將對導致硬碟出故障的幾種典型的原因、如何判斷硬碟出故障的信號等進行討論。接著介紹對硬碟進行分析診斷、檢測硬碟存在潛在缺陷等各種軟體工具的特點和使用方法。
2.硬碟為什麼會死掉
是什麼原因導致你的硬碟中的數據崩潰或者無法使用呢?和硬碟一起工作的其它部件出錯(特別是內存)了?軟體往硬碟中寫數據的演算法不完善?系統中毒?非法關機?......但是,在所有可能的原因中,最具破壞性的、最可怕的還是硬碟本身的機械部件損壞了。
3.硬碟發生故障的內部機理與數據恢復
一個硬碟內部一般有一個以上用於存儲數據的磁碟,這些磁碟的磁軌可以用來存儲電磁信息。硬碟中對磁碟數據進行讀寫的機構稱為讀/寫磁頭,它正常工作的情況下在磁碟表面上空不停的轉動。在讀/寫磁頭和磁碟中間有一層空氣墊,這是由磁碟高速轉動產生的。由於採用的是電磁原理,因此讀/寫磁頭不需要和磁碟表面接觸就可以對其進行讀寫操作。磁頭裝在電樞轉臂上,轉臂通過電磁「音圈」(Voice coil)的方法驅動。數據恢復
硬碟裡面保持轉臂的移動速度和精確度都達到了不可置信的地步,它使用了高速的線性馬達。當硬碟在工作的時候,磁碟的轉速可達5,400 RPM或者72,00 RPM(這是通常的情況下,當然最快也有10,000 RPM,有些SCSI硬碟甚至達到了15,000 RPM)。這些磁碟製造的時候有驚人的精確度,並且表面如鏡子般光滑。如此高速高精確度,讀/寫磁頭對磁碟進行讀寫操作都是在瞬間完成的。數據恢復
由於硬碟始終是機械設備,機械設備的使用就意味著會受到磨損,因此出故障是遲早的事情!這個道理非常簡單!然而,最有可能使得硬碟提前結束生命的是——物理損傷。數據恢復如果硬碟處於活動狀態(這里的活動狀態是指讀寫磁頭正在磁碟表面進行讀寫操作)時受到大的震動或者撞擊,磁頭就有可能和磁碟表面接觸,這時候什麼問題都可能發生......
磁頭和磁碟接觸可能會損壞讀寫磁頭,也可能刮花磁碟表面,可能使讀/寫磁頭產生偏移等等。有問題就有對策!硬碟製造商在技術上作了很多改進,對磁頭讀寫過程採取了很多保護措施,將這種物理損壞發生的概率降到最低的程度。硬碟在轉速下降的情況下,自動停止磁頭移動,或者將磁頭停放到安全的靜止磁碟表面上。
不處於工作狀態的硬碟一般情況下是不會受到物理損傷的。因此,如果你的硬碟處於工作狀態,請不要隨便移動主機。顯然,筆記本電腦硬碟的受震性能要比標準的3英寸台式電腦硬碟要高,數據恢復但是筆記本電腦硬碟也有受到物理損傷的可能。
磁碟連接到電機上,通過電機的轉動帶動磁碟轉動。然而,隨著使用的年限的增加,電機也會出故障。硬碟上的電機故障或者軸承出問題,都會降低磁碟轉速、使磁碟與讀寫磁頭之間不同步而導致讀/寫數據出錯。
硬碟還採用了高度過濾的通風孔,以便維持硬碟內部和外部的空氣壓力平衡,並提供磁頭與磁碟之間的空氣層。如果過濾通風孔出故障,就有可能使外界的灰塵顆粒通過通風孔進入硬碟內部,這些灰塵將會對磁碟表面的數據造成極大的破壞數據恢復 。
硬碟的所有這些機械故障或者物理損壞,都會使得運行操作系統、應用軟體出錯,而導致出錯的主要原因通常都是硬碟中的壞區。
4.硬碟壞區的數據恢復
前面提到硬碟壞區會導致軟體運行出錯,那什麼是硬碟壞區呢?硬碟壞區是指硬碟磁碟上無法寫入數據的扇區。造成硬碟產生壞區的原因有很多,但是對於操作系統最主要的症狀就是,數據恢復無法對硬碟的壞區區域進行操作。如果硬碟還沒有完全崩潰,並且已經格式化了,那麼壞區不會對硬碟的使用造成很大的影響。新近的操作系統都能夠對硬碟的壞區進行重新映射,並在格式化過程中將壞區隱藏起來。
新近生產的硬碟中都預留了一部分的「備用」扇區,這些「備用」扇區是專門為今後出現壞區預留的,一旦硬碟出現壞區,就可以用這些「備用」扇區代替壞區。有了這些「備用」扇區,即使磁碟生產時出現微小的缺陷,這些「備用」扇區就可以起自動補償作用——格式化硬碟時數據恢復,系統軟體可以檢測到硬碟的壞區,並且可以用「備用」扇區代替壞區,將壞區隱藏起來。
如果壞區是在硬碟使用過程中產生的,那麼問題就產生了。這些壞區上的數據隨時都有被破壞的可能!操作系統對使用過程中產生的壞區無能為力,它無法使用「備用」扇區代替壞區,並且會繼續使用壞區和壞區周圍的空間,這有可能使壞區的范圍進一步擴大,如果壞區中存儲著系統關鍵數據,還可能導致整個系統崩潰。
硬碟壞區根據其出現的原因可以分為邏輯壞區(或稱為軟壞區)和物理壞區(或稱為硬壞區),邏輯壞區通常是由軟體出錯造成的,而物理壞區通常是讀/寫磁頭與磁碟表面的摩擦造成的。邏輯壞區通常可以通過將整個硬碟格式化(將每個扇區都寫入0)進行數據恢復。
而由機械故障導致的物理壞區如果處理不及時,它會導致壞區的進一步蔓延。硬碟正常工作所允許的壞區數量是非常有限的。如果壞區是由機械故障或者磁頭摩擦產生的,它會隨著硬碟的使用而產生更多的物理壞區。在重新格式化的時候,硬碟會盡可能地使用「備用」 扇區代替物理壞區。當然,在格式化之後,如果壞區繼續擴散,硬碟一樣無法穩定地工作。這時候,唯一能夠做的就是在硬碟徹底完蛋之前,硬碟中的數據能夠恢復多少算多少了!
當然,我們還可以通過一些其它方法對壞區進行檢測和恢復。
5.硬碟壞區檢查和數據恢復
對硬碟的一致性以及硬碟中的數據的完整性進行檢查和的方法主要有以下三種,我們這里先作簡要的介紹,在後面我們將結合實際應用例子作進一步的探討。
1)錯誤檢查
錯誤檢查是對硬碟中的文件以及文件夾進行掃描的過程,其主要目的是找出其中被破壞的文件以及相關的沖突。例如,刪除文件之後文件系統中仍然保留著文件的入口、或者刪除一些共享文件而其它地方還保留著鏈接的節點。進行錯誤檢查可以清除這些錯誤。但是如果在進行錯誤檢查的時候,經常遇到這種問題,那麼這可能意味著你的硬碟的生命就快結束,壞區可能正在不斷的擴散。錯誤檢查所花的時間一般很少。
2)磁碟掃描
磁碟掃描操作主要是對磁碟的每個扇區進行詳細的檢查,以識別和標記出磁碟中的壞區。磁碟掃描找到的壞區可以作相關的標志,並使用「備用」扇區代替。磁碟掃描通常要花很長的時間,但它是對硬碟最近格式化至今所產生的壞區進行檢查的唯一一種不具破壞性的方法。
3)SMART 診斷測試
SMART(Self-Monitor Analysis and Reporting Technolog):自監測,分析和報告技術。SMART是IBM公司最早提出的預測錯誤分析技術,它不僅具有錯誤監測功能,而且還提供了有效的數據保護措施。可以監控磁頭、磁碟、電機、電路等,由硬碟的監測電路和主機上的監測軟體對被監對象的運行情況與歷史記錄和預設的安全值進行分析、比較,當出現安全值范圍以外的情況時,會自動向用戶發出警告。而更先進的技術還可以自動降低硬碟的運行速度,把重要數據文件轉存到其它安全扇區, 通過SMART技術可以對硬碟潛在故障進行有效預測,提高數據的安全性。這種保護措施兼有成本低和效率高雙重優點。
6.硬碟可能出錯的警告信號
或許你學會了恢復由硬碟壞區導致的軟體錯誤,或許你知道怎麼使用系統軟體恢復壞區,但是當你的硬碟是由機械故障導致出現壞區時,如果你不清楚哪些信號是由硬碟出錯產生的,那麼可能你要等到整個系統崩潰了才知道硬碟出故障,但是你的數據可能已經全部over了!
因此,及時了解硬碟出錯發出的警告信號對於掌握硬碟的工作狀態,拯救數據非常重要!下面是我們總結的一些可能由硬碟故障發出的信號:
1)系統頻繁但是無規律地崩潰,特別是在啟動操作系統的過程中;
2)在執行一些諸如移動文件等的操作過程中,經常彈出一些錯誤信息;
3)文件夾或者文件明被修改成亂碼;
4)文件或文件夾丟失;
5)對文件和文件夾進行操作速度非常緩慢;
6)打開或者列印文件時,文件內容出現亂碼;
7)硬碟工作過程中經常出現怪異的聲音
如果你的系統發出上述的信號中的任何一種,你最好盡快使用相關的工具對你的硬碟進行檢查,或先進行數據恢復,提出盤內數據!
怪異聲音是說明你的硬碟出錯的最明顯、最好的信號。如果你的硬碟以前正常工作沒有發出怪異的聲音,而現在你聽到怪異的聲音....馬上退出系統,進行檢查!如果硬碟的聲音越來越大,並且是偶爾地發出不規則的「噠…噠…噠……」的聲音的話,那麼盡快的檢查,並且備份硬碟中的重要數據,並作好更換硬碟的准備吧!
如果你的硬碟發出的是規則的「噠…噠…噠…」的聲音,那麼可能是硬碟內部出現了機械故障。這時最好馬上關閉計算機,因為這種機械故障可能對硬碟中的數據產生連鎖效應的破壞。越早關機,你可能拯救的數據就越多。
⑦ 如何使用電腦硬碟
1、熱(環境的高溫)
環境境溫度要適當,高的環境溫度,將使電腦內部的高溫不易散發到外界,而使電腦內部的溫度持續上升至飽合狀態。通常就是電腦速度變慢,甚至於頻繁死機的主要原因。這也就是為什麼電腦除了電源中有一個風扇外,CPU上也都必須會有一個風扇了,對於穩定度要求特高的電腦,甚至在機箱上再安裝一個風扇,如果24小時以上者,甚至將主機箱外殼取下,拿小電扇一直吹,更有甚者買個大空調對著電腦吹。
2、灰塵
3、潮濕
電腦主板上的的金屬成份會因潮濕而極易氧化甚至於腐蝕,造成接觸不良、短路或開路,使得硬體破壞而無法正常工作。輕微的情型是因潮濕,使得電腦內部電路板的絕緣電阻降低,而形成錯誤操作、死機或者不能啟動。
4、震動
「震動」經常也是造成電腦故障,及硬碟損壞的首要原因。輕者是使得電腦內外的各類接線脫落,使電腦無法啟動。嚴重的則是硬碟損壞(硬碟是以高速飛行在硬碟的碟片上約幾微米< ?M >的距離來存取數據的,在那麼小的距離下也就容易因震動而使磁頭撞擊到碟片的表面而造成硬碟的實際的損壞,當然如果是其它扇區還好,找些工具程序把它標識起來不用就可以了,但是如果是0磁軌的話,那麼整台硬碟就得報廢了。)
5、市電電源不穩定
市電規格是220+15%。電源不穩定的場所(1)您的住所在比較偏僻,或是新興的小區;(2)夏委高峰用電時;(3)家中同時使用電器過多,或者與電腦同一插座中同時連接了多種電器;(4)自然災害過後等;
當然電腦無法取得正常的是供電是經常死機的原因之一,如人為的不當操作、軟體沖突等都是電腦故障或死機的原因。
二、電腦理想的工作環境
一個理想的工作環境是每一個人所追求的,當然電腦也要給它一個理想的環境。我們建議各位營造一個好的環境,以使電腦能長期順利的為我們服務。
1、 解決熱的問題;
2、 解決灰塵問題;
3、 解決潮濕問題;
4、 解決震動的問題;
5、 避免外界電磁干擾的問題
盡量遠離以下區域:(1)家中電源總開關處;(2)大功率的家電,如微波爐、電視;(3)靠近家中窗戶外的高壓電線。當然您家在變電所旁邊那就沒有輒了,較出名的廠商的產品受環境干擾就較小。
6、 解決市電電源不穩定
市電電源不穩定的因素在大部份地區不大存在,但是電腦專用插座一事則是相當必要的事情。
7、 電腦勿放置陽光直射處
直射處易產生熱對電腦正常工作不好,直射處屏幕看起來不清楚,且易反光造成眼睛的直接傷害。
8、 選擇合適的電腦桌椅
符合人體工學的電腦桌椅最宜。
三、電腦的保養維護
電腦的保養維護無非是希望靠平時的一些小動作、小功夫,使電腦能順利正常的工作及保持最佳的性能,盡量避免電腦的故障。下面我分項介紹我是如何做保養維護工作的。
1、 清理電腦內部灰塵
(1) 先將主機後面的各種連接線拆下,不過注意,針對半懂不懂的朋友來,在拆下以前首先要作好標記。
(2) 拆下外殼。
(3) 將所有的介面卡拆下來,同樣的要記下各條連線連往何處,以及方向。
(4) 先用刷子將介面卡上的灰塵掃干凈。
(5) 將各介面卡上有DIP包裝的IC再次用力將其下壓,避免它因時間久了而略微彈出形成接觸不良。
(6) 用棉花沾酒精(或去漬油)將各種介面卡金黃屬露銅部份的不潔物及銅牆銅綠擦拭乾凈。
(7) 清理主機內部的灰塵。要小心上面有許多跳線不要弄掉了,否則插不回去,電腦無法工作了。
(8) 將軟硬磁碟驅動器上的灰塵也清一清。
(9) 清理光碟驅動器托盤的灰塵。
(10) 將位於主機箱後方的電源風扇的積塵及雜物同樣清理一下。
(11) 清理完畢再將介面卡依次插回。
(12) 重新連回各條內部連線。
(13) 裝上外殼,同時清理,屏幕也清理一下。
(14) 接上主機背面的外部接線。
(15) 啟動電腦。順利啟動,有沒有覺得干凈舒服一點,而且好像電腦變快了。
(16) 分別用清潔磁碟清潔大小軟盤的磁頭。
2、 利用windows中的磁碟碎片整理程序整理硬碟數據
(1) 先將磁碟中不必要的文件及目錄文件夾刪除。
(2) 選取「開始」、「程序」、「附件」、「系統工具」、「磁碟碎片整理程序」.
(3) 選取需要整理碎片的磁碟驅動器號.
(4) 點取「確定」後出現「磁碟碎片整理程序」對話框。
(5) 點「開始」,開始「磁碟整理」。
「磁碟碎片整理」完畢後,隨意打開一個程序,看看是不是比以前快了,這可不是心理作用,而是真的快了很多。
3、 電腦使用常識與注意事項
(1) 收音機、無線電話等無線設備盡量遠離電腦;
(2) 盡量少立在屏幕背面及側邊,以避免輻射;
(3) 電腦使用後,養成習慣用防塵罩;
(4) 使用屏幕保護裝置來保護屏幕並延長其使用周期。
(5) 自己動手(DIY)時,注意隨時放電。 說的就是靜電問題。所以建議各位朋友,不論是在維修、保養電腦或是自己裝電腦時,都必須要隨時記得將人體「靜電」卻除(放電),再開始拆下機殼,以防止人體上的「靜電」量過高而破壞了您好的設備。
(6) 關於重新啟動的方法與注意事項。
啟動電腦的方法有三種:
①熱啟動(Ctrl+Alt+Del鍵):
非完全硬體重新設置(reset)的重新啟動,使用時機:如調整系統設置、想要重新啟動電腦或輕微的死機。但是建議朋友們在處理病毒的相關問題、需要重新啟動電腦時勿使用熱啟動方式來重新啟動,一定要使用冷啟動(Reset鍵)或乾脆關掉電源再重新打開,以便降低病毒勇於進取電腦的危害。
②冷啟動(機箱上的Reset鍵):
完全在硬體上重新設置(Reset)整個系統,包括晶元以及整個電腦系統,使其完全的回到一個初始狀態再重新啟動電腦。建議除一般情況使用熱啟動外,其他要重新啟動電腦時都使用冷啟動。最好不用電源開關來重新啟動電腦。
③電源切換:開關
其實就是作為電源開關,它並並非是用於重新啟動電腦的,建議除非是要開關機,否則不要使用電源切換開關來重新啟動電腦。提醒如果朋友們在使用此方法時:注意每次將電源開關切至OFF後,如果要再度打開,請盡量停頓5秒鍾後再打開。這樣可以避免瞬間電流過大,對電腦造成破壞,對硬體保養也是很有意義的。"
⑧ 固態硬碟怎麼選
你有沒有了解過自己的電腦硬碟是機械硬碟or固態硬碟?固態硬碟和機械硬碟相同容量卻要貴出那麼多?
為什麼我們更加的喜歡固態硬碟,固態硬碟和機械硬碟的區別?他們的使用壽命下面一一為大家揭開謎底:
1、防震抗摔性能分析:機械硬碟都是磁碟型的,數據儲存在磁碟扇區里。而固態硬碟是使用快閃記憶體顆粒(即內存、MP3、U盤等存儲介質)製作而成,所以SSD固態硬碟內部不存在任何機械部件,這樣即使在高速移動甚至伴隨翻轉傾斜的情況下也不會影響到正常使用,而且在發生碰撞和震盪時能夠將數據丟失的可能性降到最小。相較機械硬碟,固硬佔有絕對優勢。
2、數據存儲速度比較:SSD作為存儲介質,讀取速度相對機械硬碟更快
3、功耗大小:固態硬碟的功耗上也要低於機械硬碟。
4、重量大小:固態硬碟在重量方面更輕,與常規1.8英寸硬碟相比,重量輕20-30克。
5、是否產生噪音:由於固硬屬於無機械部件及快閃記憶體晶元,所以具有了發熱量小、散熱快等特點,而且沒有機械馬達和風扇,工作噪音值為0分貝。機械硬碟就要遜色很多。
6、固態硬碟的大容量很少;
7、售價區別固態硬碟的售價一般比較昂貴兩倍或者三倍的價錢(距離對比)
結論分析:
現在對比新型的主控晶元全部引入了科學的寫入戰略,在運用時會盡量平衡存儲晶元內每個數據塊的寫入負載,以使SSD硬碟全體寫入壽數到達最大值。
扼要來說機械硬碟影響壽數的顯著要素是外部震動等物理暴力損壞,固態硬碟首要受寫入讀取次數的影響。
法國聞名硬體網站hardware.fr,每年都會計算兩次電腦中心配件的故障率,機械硬碟的故障率較為平均,SSD固態硬碟的故障率離散較大,可是平均故障率仍然低於機械硬碟。
內容來源於網路,如有侵權請聯系刪除。
⑨ 如何分析 硬碟的性能 下圖數據是否說明了硬碟太差了需要更換
hd tune可以查看硬碟的性能