IOPS計算


Device Type IOPS
7,200 rpm SATA drives HDD ~75-100 IOPS[2]
10,000 rpm SATA drives HDD ~125-150 IOPS[2]
10,000 rpm SAS drives HDD ~140 IOPS [2]
15,000 rpm SAS drives HDD ~175-210 IOPS [2]

 

RAID level Read Write
RAID 0 1 1
RAID 1 and 10 1 2
RAID 5 1 4
RAID 6 1 6

 

假設你有10個驅動器,每個驅動器的IOPS為150,那么總的IOPS為1500

如果使用raid5的話可以得到1500個讀IOPS,375個寫IOPS.

 

如何監控讀寫操作的IOPS?

使用windows自帶的perfmon監控如下值:

邏輯/物理磁盤的Avg.Disk read/sec,Avg.Disk write/sec.

還有Disk Transfers/sec.Disk Transfers/sec是讀寫IOPS的綜合

磁盤響應時間(Disk Response Time)條目

1.Avg. Disk sec/Transfer:顯示了存儲端處理的每個IO的平均時間。

  2.Avg. Disk sec/Read:顯示了存儲端處理的每個讀IO的平均時間。

  3.Avg. Disk sec/Write:顯示了存儲端處理的每個寫IO的平均時間。

上述條目顯示的單位都是毫秒ms

IOPS條目

       1.Disk Transfers/sec:顯示了磁盤上的IOPS總數,直觀的顯示了說對應LUN上的每秒IO的吞吐量。

  2.Disk Reads/sec:顯示了磁盤每秒的讀IO數量。

  3.Disk Writes/sec:顯示了磁盤每秒的寫IO數量。

Throughput(MB/s)條目:

  1.Disk Bytes/sec:顯示了磁盤上的總的數據傳輸量,單位為Byte。

  2.Disk Read Bytes/sec:顯示了磁盤上讀數據的傳輸量。

  3.Disk Write Bytes/sec:顯示了磁盤上寫數據的傳輸量。

讀寫百分比

% idle time 、%disk time、%disk read time、% disk write time這幾個值顯示磁盤處於做讀寫狀態的百分比。理論上,disk time%這個值應該小於100%,否則則說明磁盤處於極度繁忙狀態,或存在性能問題。

隊列條目

  Avg. Disk Queue Length、Avg. disk read queue length、Avg. disk write queue length、Current Disk Queue Length這幾個值顯示了磁盤隊列長度的相關信息。所謂Disk Queue也就是服務器端發出的存儲操作正在等待被存儲處理的請求數目。例如有一個應用發出一條讀請求,但是目標磁盤當時正在處理其他任務。那么這個新的讀請求就會被放在磁盤隊列里。這時候磁盤隊列的值就是1。理論上講,Current Disk Queue Length的這個值不應該長時間地大於2。Avg. Disk Queue Length的值也是,如果看到采樣期間,平均的Queue Length大於1,則說明在采樣的某段時間存儲無法完全響應應用端說發出的IO請求的。

 

 

參數

描述

磁盤轉速

這個參數直接影響磁盤能夠從正確的扇區讀取數據的快慢

15,000 RPM: 150 隨機 IOPS
10,000 RPM: 110 隨機 IOPS
5,400 RPM: 50 隨機 IOPS

Read/Write

IOPS 可以分解為讀和寫操作。不同的進程對讀寫的密集程度不一。讀、寫比例影響總IOPS


 

  • 讀: 20%
  • 寫: 80%(MCS下為50%:50%)

RAID 級別

RAID 配置會由於不同類型的冗余影響實際寫的數量。寫懲罰會影響總IOPS

RAID 0: 無RAID 懲罰
RAID 1:  penalty of 2
RAID 10: Penalty of 2
RAID 5 (4 disks): Penalty of 4
RAID 5 (5 disks): Penalty of 5

桌面

生命周期

每個桌面有6種狀態,每個階段對存儲子系統都有不同的影響.

啟動: 26 IOPS
登錄: 14 IOPS
工作:

  • 輕量: 4-8 IOPS
  • 普通: 8-12 IOPS
  • 重量: 12-20 IOPS
空閑: 4 IOPS
登出: 12 IOPS
Offline: 0 IOPS

根據這6種不同的虛擬桌面狀態可以幫助架構師基於每服務器計算IOPS需求和完整的虛擬桌面基礎架構.公式如下 :

總原生  IOPS=磁盤轉速 IOPS * 磁盤數目

舉例而言: 假設我們有8 塊72G 的15,000 轉 SCSI3 驅動,並按照RAID 10 配置。那么,這個存儲系統總共會產生720 個功能性IOPS,計算公式如下:

功能性 IOPS=(((總原生 IOPS×寫 %))/(RAID 懲罰))+(總原生IOPS×讀 %)

總原生 IOPS=150×8=1200

功能性IOPS=(((1200× .8))/2)+(1200×.2)= 720

如果是MCS, 功能性IOPS =(1200*0.5)/2+ 1200*0.5=900 

這個計算會幫助確定當所有的桌面執行同樣行為時候的可能性,當然,不是所有的情況都適合。實際上,在不同的hypervisor 上,不同的虛擬機狀態可能是不一樣的。因此,作為一個架構師來說,你需要根據不同桌面的綜合體驗來計算不同的服務器需求。根據計算,很有可能你都會發現可能你根本不需要SAN,使用本地硬盤就足夠了!

 

淺談RAID寫懲罰(Write Penalty)與IOPS計算

作者:dostor出處:博客2013-08-27 08:41

  介紹

  通常在討論不同RAID保護類型的性能的時候,結論都會是RAID-1提供比較好的讀寫性能,RAID-5讀性能不錯,但是寫入性能就不如RAID-1,RAID-6保護級別更高,但寫性能相對更加差,RAID10是提供最好的性能和數據保護,不過成本最高等等。其實決定這些性能考慮的因素很簡單,它就是RAID Write Penalty(寫懲罰)。本文從原理上解釋了不同RAID保護級別的寫懲罰,以及通過寫懲罰計算可用IOPS的方法。

  更多信息

  RAID-5 Write Penalty的例子:

  存儲方案規划的過程中,最基本的考慮因素有兩個,性能和容量。性能上的計算看可以分為IOPS和帶寬需求。計算IOPS,拋開存儲陣列的緩存和前端口不談。計算后端物理磁盤的IOPS不能簡單的把物理磁盤的最大IOPS相加而獲得。原因是,對於不同的RAID級別,為了保證當有物理磁盤損壞的情況下可以恢復數據,數據寫入的過程中都需要有一些特別的計算。比如對於RAID-5,條帶上的任意磁盤上的數據改變,都會重新計算校驗位。如下圖所示,一個7+1的RAID-5的條帶中,七個磁盤存儲數據,最后一個磁盤存儲校驗位。

  對於一個數據的寫入,我們假設在第五個磁盤上寫入的數據為1111,如下圖所示。那么整個RAID-5需要完成寫入的過程分為以下幾步:

  1.讀取原數據0110,然后與新的數據1111做XOR操作: 0110 XOR 1111 = 1001

  2.讀取原有的校驗位0010

  3.用第一步算出的數值與原校驗位再做一次XOR操作: 0010 XOR 1001 = 1011

  4.然后將1111新數據寫入到數據磁盤,將第三步計算出來的新的校驗位寫入校驗盤。

  由上述幾個步驟可見,對於任何一次寫入,在存儲端,需要分別進行兩次讀+兩次寫,所以說RAID-5的Write Penalty的值是4。

  不同RAID級別的Write Penalty:

  下表列出了各種RAID級別的Write Penalty值:

  RAID-0:直接的條帶,數據每次寫入對應物理磁盤上的一次寫入

  RAID-1和10:RAID-1 和RAID-10的寫懲罰很簡單理解,因為數據的鏡像存在的,所以一次寫入會有兩次。

  RAID-5:RAID-5由於要計算校驗位的機制存在,需要讀數據、讀校驗位、寫數據、寫校驗位四個步驟,所以RAID-5的寫懲罰值是4。

  RAID-6:RAID-6由於有兩個校驗位的存在,與RAID-5相比,需要讀取兩次校驗位和寫入兩次校驗位,所以RAID-6的寫懲罰值是6。

  計算IOPS:

  根據上文的描述,在實際存儲方案設計的過程中,計算實際可用IOPS的過程中必須納入RAID的寫懲罰計算。計算的公式如下:

  物理磁盤總的IOPS = 物理磁盤的IOPS × 磁盤數目

  可用的IOPS = (物理磁盤總的IOPS × 寫百分比 ÷ RAID寫懲罰) + (物理磁盤總的IOPS × 讀百分比)

  假設組成RAID-5的物理磁盤總共可以提供500 IOPS,使用該存儲的應用程序讀寫比例是50%/50%,那么對於前端主機而言,實際可用的IOPS是:

  (500 ×50% ÷ 4)+ ( 500 * 50%) = 312.5 IOPS

通常當數據庫管理員提出需要更多存儲空間的時候,他們還會指定必須要達到多少IOPS。現在有這樣一個需求,20TB存儲空間同時滿足4500 IOPS+RAID 5,我應該如何計算?RAID 5或者RAID 1/0的時候分別需要多少塊硬盤?


首先需要知道I/O中讀操作(Read)與寫操作(Write)所占的百分比。然后通過下列公式,將主機的IOPS需求轉換成硬盤實際IOPS負載:

RAID類型 公式
RAID 5和3 Drive IOPS = Read IOPS + 4*Write IOPS
RAID 6 Drive IOPS = Read IOPS + 6*Write IOPS
RAID 1和1/0 Drive IOPS = Read IOPS + 2*Write IOPS

假定4500 IOPS中讀/寫比是2:1,則不同RAID類型Drive IOPS要求分別如下:

RAID 1/0: (2/3)*4500 + 2*(1/3)*4500 = 6000 IOPS

RAID 5: (2/3)*4500 + 4*(1/3)*4500 = 9000 IOPS

RAID 6: (2/3)*4500 + 6*(1/3)*4500 = 12000 IOPS

再參照下表中不同類型硬盤單塊IOPS參數,得出需要多少塊硬盤:

硬盤類型 IOPS
Fibre Channel 15k rpm 180
SAS 15k rpm 180
Fibre Channel 10k rpm 140
SATA 7.2k rpm 80
SATA 5.4k rpm 40
Flash drive 2500

假定選用FC 15K RPM硬盤,則:

RAID 1/0: 6000/180 = 34 塊

RAID 5: 9000/180 = 50 塊

RAID 6: 12000/180 = 67 塊

注:實際情況下還需考慮Vault Drivers (共5塊)以及Hot Spares (建議每30塊硬盤一個)。

最后,如果選用600GB FC硬盤來實現20TB可用空間,則RAID 1/0需要78塊,RAID 5需要42塊。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM