而由于處理數(shù)據(jù)包頭,總的時(shí)間內(nèi)傳輸實(shí)際數(shù)據(jù)相對(duì)較低。

當(dāng)I/O尺寸比較大的情況下,如下圖所示,傳輸每個(gè)I/O的時(shí)間增大,IOPS數(shù)量下降。但是相比更高的百分比的I/O通道用來傳輸實(shí)際數(shù)據(jù),Throughput則明顯上升。

我們可以用一個(gè)簡單的公式來計(jì)算Throughput和IOPS之間的關(guān)系:

Throughput MB/s = IOPS * KB per IO / 1024

假設(shè)一個(gè)10個(gè)10K SAS磁盤,每個(gè)磁盤提供140 IOPS,總共有1400最大IOPS。理論上這些磁盤處理不同的IO大小,所能達(dá)到的Throughput吞吐量是有區(qū)別的。簡單的來說,物理層面IOPS和Throughput哪個(gè)先達(dá)到了物理磁盤的極限,就決定了這個(gè)物理磁盤的性能閥值。下面的計(jì)算公式可以看到,單位I/O大小可以使得吞吐量成倍提升,但是未能達(dá)到10個(gè)SAS磁盤1GB/S(每個(gè)磁盤100MB/s帶寬)的理論“帶寬”。顯而易見,因?yàn)榇蠖鄶?shù)應(yīng)用的I/O不會(huì)那么大,所以你會(huì)看到存儲(chǔ)陣列的吞吐量遠(yuǎn)小于廠商提供的理論值,原因就是因?yàn)镮OPS先達(dá)到了性能閥值,使得吞吐量無法再提升。當(dāng)然也有特殊的應(yīng)用,例如流媒體服務(wù)器等,應(yīng)用端可以使用2MB的I/O大小,那么吞吐量利用率顯然會(huì)更加高,IOPS的要求則相對(duì)較低了。

MB/s = 1400 * 64 /1024 = 87.5 MB/s

MB/s = 1400 * 128 /1024 = 175 MB/s

MB/s = 1400 * 256 /1024 = 350 MB/s

綜上所述,在規(guī)劃存儲(chǔ)性能和處理存儲(chǔ)性能問題的時(shí)候,需要綜合看IOPS和Throughput吞吐量這兩個(gè)參數(shù),本文的觀點(diǎn)總結(jié)為以下幾點(diǎn):

1.性能工具統(tǒng)計(jì)的Throughput吞吐量永遠(yuǎn)達(dá)不到實(shí)際的I/O流中節(jié)點(diǎn)的理論“帶寬”,原因是性能工具不會(huì)統(tǒng)計(jì)I/O的包頭信息,而是實(shí)際的數(shù)據(jù)傳輸量。

2.磁盤物理層面IOPS和Throughput哪個(gè)先達(dá)到了物理磁盤的極限,就決定了這個(gè)物理磁盤的性能閥值,然而決定哪個(gè)先達(dá)到性能閥值的就是I/O的大小。

3.性能監(jiān)控工具顯示IOPS低或者Throughput低于預(yù)期,先不要直接認(rèn)為存儲(chǔ)性能存在問題,搞清楚應(yīng)用的I/O大小,再做后續(xù)判斷。

4.存儲(chǔ)性能另外一個(gè)重要因素還有磁盤響應(yīng)時(shí)間(Response Time),本文的內(nèi)容是建立在存儲(chǔ)可以提供接受訪問內(nèi)的響應(yīng)時(shí)間為前提。

本文作者為EMC中文技術(shù)社區(qū)(https://community.emc.com/go/chinese)技術(shù)版主。如果您對(duì)本文有任何疑問和不同見解,也歡迎到EMC中文支持論壇參與討論。

分享到

fenglin

相關(guān)推薦