如何考量磁盤陣列的性能

購買存儲時需要的考慮性能如下:1.磁盤空間,2.磁盤組性能。磁盤空間主要取決於磁盤陣列類型及磁盤個數。而磁盤性能包括吞吐量(傳輸帶寬)和磁盤IOPS。下面我們將一起來探討磁盤性能的兩個方面。

1磁盤陣列的吞吐量(傳輸帶寬)

傳輸帶寬指的是硬盤或設備在傳輸數據的時候數據流的速度。他主要取決於磁盤陣列的構架,通道的大小以及磁盤的個數。不同的磁盤陣列存在不同的構架,但他們都有自己的內部帶寬(如主線型或星型),不過一般情況下,內部帶寬都設計足夠充足,不會存在瓶頸。磁盤陣列與服務器之間的數據通道便對吞吐量的影響很大。下面是常用通道的帶寬:

2Gbps 光纖通道,(250MB/s), 4Gbps 光纖通道(500MB/S),SCSI最高速度是320MB/s,SATA是150MB/s,IED 133MB/s。最後說一下是硬盤的限制,目前SCSI硬盤數據傳輸率最高在80MB/s,SAS硬盤數據爲傳輸率最高在80-100MB/S。對於數據庫小數據的離散寫入,其傳輸率快快達不到這個值。

下面舉例來說明。 如果寫一個10M的文件需要0.1S,則磁盤計算出磁盤帶寬爲100M/s,如果寫10000個大小 爲1KB的文件需要10S,則磁盤帶寬只有1M/s.

如果存儲內部結構是總線型的,不建議使用超過6個塊硬盤。超過6塊磁盤後,存儲在尋址過程中容易出現丟失的情況,同時6個塊磁盤的傳輸速率大於磁盤陣列接口的傳輸速度,從而使用存儲接口速度成了整個存儲傳輸性能的瓶頸。而光纖存儲和光纖硬盤就沒有這個問題(DELL MD3000就是主線型的存儲)。

2 磁盤陣列的IOPS

決定IOPS的主要取決於磁盤陣列RAID類型,CACHE命中率以及磁盤個數。CACHE的命中率取決於數據的分佈,CACHE size的大小,數據訪問的規劃,以及CACHE的算法。如果要詳細討論才複雜了,這裏不做詳細說明。但磁盤陣列讀Cache的命中率越高,這樣可以減少去讀取存放在磁盤上的數據,而直接從Cache中直接將數據傳送給客戶端,從而提高磁盤的IOPS值。

根據廠商網站上給出的規範,數據庫服務器的物理驅動器的吞吐能力的理論值爲300IOPS,因爲吞吐率一旦超過85%,一會出現I/O瓶頸,所以要確定生產環境中每個物理存儲器的最大可接受吞吐量是255IOPS(300×85%=255)。但實際情況很難達到這個值。建議硬盤吞吐量按200iops比較好。


同樣用上面的例子來說明磁盤IOPS對磁盤性能的影響。寫入10000個文件時,根據文件分佈情況和大小情況,可能需要做幾萬甚至,甚至十幾萬IO才能完成。而一個10MB的大文件,如果這個文件在磁盤上連續存放的話,只需要幾十個IO就可以完成了。

綜合影響磁盤的兩個方面得出:具有高帶寬的硬盤在傳輸大塊連續數據時具有優勢,而具有高IOPS的硬盤在傳輸小塊不連續的數據時具體優勢。而數據庫中數據的寫入多爲不連續小數據,因此建議高IOPS磁盤及RAID類型。下面我們將一起來探討磁盤RAID類型及特徵。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章