Performance

15K RPM SAS 驅動器的吞吐量是多少?

  • October 15, 2010

單個 15K RPM 磁碟的頻寬?10MBps 還是 100MBps?

不確定您要問什麼,但這裡有一個典型的 15k 驅動器(如Seagate 15k.7)的概要:(PDF)根據您想要對驅動器執行的操作,實際性能會有很大差異。

順序訪問

列出的驅動器性能為 122-204MB/秒。驅動器在磁碟上以更高的密度記錄位以增加總儲存容量,因此讀取磁碟的外部區域比讀取內部區域要快一些。如果您的磁碟記憶體分段和預讀在磁碟上設置得當,您應該能夠在流式工作負載(例如影片編輯)上實現非常接近的效果。

隨機訪問

碟片以 15,000 RPM 左右的速度旋轉,相當於每秒 250 轉。平均延遲列為 2.0 毫秒。單次旋轉需要 4 毫秒,因此在隨機載入時,當您啟動操作時,扇區平均距離磁頭半圈。平均尋軌時間為 3.4 毫秒,包括磁頭移動的時間。單個磁軌尋軌被列為花費 0.2 毫秒。

3.4 毫秒的平均尋軌時間(+ 2 毫秒的平均旋轉延遲)意味著對於單個磁碟上的小數據項,您可能期望每秒獲得大約 150-200 次隨機訪問 I/O 操作。

在數組中訪問

陣列上的流吞吐量是磁碟 RPM 和 RAID 條帶大小的函式。通常,除非您的工作負載高度分散,否則您將在磁碟每轉一圈時讀取接近一個條帶。例如,一個 15k 的磁碟每秒旋轉 250 次;64k 條帶大小將允許您每秒從驅動器讀取 16MB,或者 256k 條帶大小將允許從驅動器讀取 64MB/秒。

如果您有大量隨機訪問工作負載,那麼您可能希望每隔幾毫秒獲得一個條帶,具體取決於磁碟查找模式。這意味著您讀取條帶的平均速度會比峰值吞吐量稍慢,因此每個磁碟 150 IOPS 的數字是一個合理的經驗法則。該陣列將有多個驅動器,因此聚合吞吐量是驅動器的總吞吐量,除非受到其他因素的限制,例如緩慢或調整不當的控制器。

寫入數組更複雜,因為必須寫出冗餘資訊。根據 RAID 類型,每次寫入可能需要幾個額外的 I/O 操作;確切的數字取決於 RAID 佈局的類型。通常,RAID-5 上的寫入需要 4 次 IO 操作(兩次讀取,可能會被記憶體,以及兩次寫入),而 RAID-10 上的寫入需要兩次寫入(鏡像的每一側)。

SAN 中的訪問

物理磁碟吞吐量通常不是 SAN 性能的限制因素。SAN 性能和控制器設置甚至磁碟參數(如記憶體分段和預讀策略)中的許多因素都會顯著影響性能。

SAN 中的磁碟性能特徵與 RAID 控制器中的非常相似,但在基於主機的 RAID 控制器中通常沒有更多的層和一些阻塞點。SAN 性能並不是一種萬能的情況,不同的工作負載可能會對 SAN 提出相互衝突的要求。

一種相當常見的情況是,針對通用工作負載調整的 SAN 通常在數據倉庫 ETL 或報告任務上表現不佳,這些任務往往具有與事務或文件服務工作負載截然不同的磁碟訪問模式。

我認識的一位主要 SAN 供應商的代表估計,他們的許多客戶在他們的數據倉庫系統中使用直接附加儲存,因為對於這種類型的工作負載,它比 SAN 快得多。我在我工作過的網站上也看到過這種現象幾次,甚至執行了一個基準測試,在相同的 ETL 作業中,配備適度的伺服器比刀片/SAN 設置的性能高出兩倍。

引用自:https://serverfault.com/questions/190451