5.4. 硬碟的效能特性
摘要:5.4. 硬碟的效能特性
5.4. 硬碟的效能特性
我們已經在第 4.2.4 節中,為您簡介了硬碟的效能特性;本節將為您深入探討這個問題。對系統管理者來說,這是個很重要的問題;否則管理者可能會在不知不覺中,改變了系統設定,對效能產生了負面的影響。
硬碟從收到存取要求,到完成的整個時間,取決於兩個因素:
硬碟的機械與電路限制
系統要求的存取工作量
底下幾節將為您深入討論硬碟的效能問題
5.4. 硬碟的效能特性
我們已經在第 4.2.4 節中,為您簡介了硬碟的效能特性;本節將為您深入探討這個問題。對系統管理者來說,這是個很重要的問題;否則管理者可能會在不知不覺中,改變了系統設定,對效能產生了負面的影響。
硬碟從收到存取要求,到完成的整個時間,取決於兩個因素:
硬碟的機械與電路限制
系統要求的存取工作量
底下幾節將為您深入討論硬碟的效能問題。
5.4.1. 機械 / 電路限制
由於硬碟是電子與機械的組合,所以其速度與效能容易受到外在因素的影響。每個存取需求都需要硬碟內部元件的協同運作,才得以順利完成。但因為每個元件的效能都有不同的特性,所以硬碟的整體效能,是所有元件效能的總和。
然而不管怎麼說,電子元件的速度都快過機械元件。所以對整體效能最有影響的,是機械元件。

提示
要增進硬碟效能,最有效的方式就是僅可能地減少機械的運作。
一般硬碟的平均存取時間是 8.5 ms(毫秒,millisecond)。底下我們將仔細研究每個細節,看看每個元件是如何影響硬碟整體效能的。
5.4.1.1. 指令處理時間
目前生產的硬碟,都內嵌複雜的電腦系統,以控制所有的運作。這些電腦系統的任務有:
透過硬碟介面,跟外界溝通
控制其他硬碟元件的運作,並處理與復原所有可能發生的錯誤
處理所有進出硬碟磁盤的資料
雖然硬碟上所使用的微處理器功能強大,但還是需要時間來處理每項工作。平均來說,這時間約為 .003 毫秒。
5.4.1.2. 讀寫頭讀 / 寫資料
硬碟的讀寫頭只有在「飛過」資料所在的磁盤上方時,才會有所動作。因此欲讀取或寫入的資料區完整通過讀寫頭的時間,才是讀寫頭真正的運作時間。以 10,000 轉、每磁軌 700 磁區的硬碟來說,這平均時間約為 .0086 毫秒。
5.4.1.3. 旋轉性延遲
因為硬碟的磁盤不停地運轉著,所以當存取需求發生時,讀寫頭很可能剛好不在要存取的磁區上方。所以,即使硬碟的其他元件都已經準備好,還是得等磁盤轉個位置,讓欲讀寫的磁區轉到讀寫頭下方,才能開始讀取資料。
這正是高效能硬碟都有著高轉速的原因。目前 15,000 轉硬碟都屬於高階範疇,而 5,400 轉只能算是入門機種。以 10,000 轉硬碟來說,這平均時間約為 3 毫秒。
5.4.1.4. 存取臂的移動
如果問到硬碟的最大弱點,那非存取臂莫數了。存取臂必須快速且準確地運作,比較上,這移動距離並不短。而且,存取臂的移動並不是持續地 — 它得一下加速衝往讀寫區,快到的時候又得減速,以免衝過頭。因此,存取臂必須夠強壯(才能在嚴酷的移動下生存),重量也必須夠輕(這樣才易於加速與減速)。
魚與熊掌不能兼得,我們比較一下存取臂與其他元件所花的時間,就可以明白這一點。存取臂的平均移動時間為 5.5 毫秒,對硬碟的整體效能,有著決定性的影響。
5.4.2. I/O負載與效能
另一個對硬碟效能有影響的,是賦予硬碟的I/O負載。以下是幾個I/O負載的考量:
讀取與寫入的比例
目前的讀取與寫入數目
讀寫的位置
底下我們將為您詳細討論這些問題。
5.4.2.1. 讀取與寫入的比例
對於使用磁性原理運作的硬碟來說,讀取與寫入的 I/O 比例並不引人注目,因為讀取與寫入的時間是一樣的[1]。不過,其他大容量儲存技術的讀取與寫入時間就有很大的差異[2]。
如果儲存裝置的寫入時間遠大於讀取時間,那麼同樣時間能處理的寫入需求,就會遠低於讀取需求。從另一個角度來看,寫入要比讀取,耗去更多硬碟的系統資源。
5.4.2.2. 大量讀 / 寫
多人同時存取硬碟,跟單人存取硬碟,兩者對效能的影響是截然不同的。這是因為多 I/O 要求會比單 I/O,對硬碟帶來更多的工作負荷。
因為在 I/O 開始之前,還有一些前置動作要做。畢竟在實際開始之前,要先決定這個 I/O 的特性為何。因為這個過程需要時間,所以任何 I/O 需求,都有其負荷上限 — 只有更高速的 CPU 可以處理。如果在處理 I/O 前,還需要使用者輸入文字的話,這限制會更為明顯。
然而當多重需求發生時,I/O 負荷就會居高不下。如果 CPU 夠快,可以持續產生這些需求,那麼 I/O 負載就會持續吃重。
然而,另外還有一個因素會對 I/O 效能產生影響。這點將在接下來的章節為您探討。
5.4.2.3. 讀寫的位置
雖然在多人使用環境中,讀寫的位置並沒有嚴格的限制;但這問題還是對硬碟效能產生了些許影響。這問題在於:當硬碟讀完一筆資料,準備讀取下一筆資料時,下一筆資料的實際儲存位置距離有多遠。
這原因很簡單,別忘了硬碟的機械特性。硬碟中最慢的元件是存取臂,如果下一筆要存取的資料,不需要移動到存取臂,那速度就會很快;反之,如果要讀取的資料散佈在硬碟各處,那存取臂就得四處移動了。
看看硬碟效能的比較表,您就會了解這差距。這張表包括了「緊鄰磁柱的搜尋時間(adjacent cylinder seek times)」(存取臂不怎麼需要移動 — 只要移到下一個磁柱即可),以及「完整來回運動的搜尋時間(full-stroke seek times)」(存取臂從頭移動到尾)。舉例來說,底下是高效能硬碟的搜尋時間:
緊鄰磁柱
完整來回
0.6
8.2
表格 5-4. 緊鄰磁柱與完整來回運動的搜尋時間(單位:毫秒)
注
[1]
事實上,這並不完全正確。所有硬碟都有若干快取記憶體,用以改善讀取效能。然而,讀取資料時的所有 I/O,依舊必須回到存取硬體的基本問題上。這表示即使快取記憶體可以有效改善讀取時的 I/O 效能問題,也無法降低從硬碟上實際讀取資料的時間。
[2]
由於設計與技術的限制,這情形在光碟機上就很明顯