關於儲存性能的問題
如果你們能回答我一些關於我們儲存性能的問題,我會很高興的。設置
- 帶 2GB 記憶體的 HP P2000 SAS
- 8x 1TB SATA 7200 RPM 儲存
- RAID6
- 3 個帶 SAS HBA 適配器的主機
- VMWare vSphere 4.1
基本上,我必須查看我們的儲存的主要原因是將監控 VM 從其中一台主機的本地磁碟傳輸到儲存。因此,在進行任何遷移之前,我使用 iometer 設置了一個新 VM,並在夜間執行測試,此時集群中沒有執行重要的作業。此 VM 只有 1 個發電機工作執行緒。
Access Specification Name IOps Read IOps Write IOps MBps Read MBps Write MBps Transactions per Second Average Response Time Average Read Response Time 512B; 100% Read; 0% random 5617.191059 5617.191059 0.000000 2.742769 2.742769 0.000000 5617.191059 0.176979 0.176979 512B; 75% Read; 0% random 3190.524306 2369.761725 820.762581 1.557873 1.157110 0.400763 3190.524306 0.312244 0.321925 512B; 50% Read; 0% random 1055.807449 524.819993 530.987456 0.515531 0.256260 0.259271 1055.807449 0.946000 0.421600 512B; 25% Read; 0% random 1006.956966 239.414257 767.542709 0.491678 0.116901 0.374777 1006.956966 0.853556 0.687116 512B; 0% Read; 0% random 35.123065 0.000000 35.123065 0.017150 0.000000 0.017150 35.123065 28.349538 0.000000 4K; 75% Read; 0% random 3034.296095 2247.847150 786.448945 11.852719 8.780653 3.072066 3034.296095 0.328614 0.333793 4K; 25% Read; 0% random 2237.793260 587.671309 1650.121951 8.741380 2.295591 6.445789 2237.793260 0.445755 0.636275 16K; 75% Read; 0% random 627.852712 474.796322 153.056389 9.810199 7.418693 2.391506 627.852712 1.591288 1.840213 16K; 25% Read; 0% random 478.619741 116.666329 361.953412 7.478433 1.822911 5.655522 478.619741 2.086953 1.281547 32K; 75% Read; 0% random 848.266506 649.372846 198.893660 26.508328 20.292901 6.215427 848.266506 1.176316 1.334378 32K; 25% Read; 0% random 443.441341 117.275291 326.166050 13.857542 3.664853 10.192689 443.441341 2.253707 7.158792
hdparm 讀取測試(使用 hdparm -t /dev/sda)給出了 300MB/s。
我們的監控系統從 +- 40 個虛擬機和 30 個設備獲取資訊,每個主機至少有 10 個服務,但實際上是仙人掌產生了大部分 IOPS。它每分鐘同時大規模更新 RRD 數據。儘管如此,我還是決定將虛擬機遷移到儲存中。遷移後,我測量了監控產生的 IOPS - 平均值為 800,但每個 VM 上的任何讀取操作後的響應時間都非常糟糕 - 5-10 秒,監控實際上殺死了一些 VM,因為核心在一些上超時IO 操作。hdparm 給出了 1.4MB/秒。我關閉了 cacti RRD 處理,它執行良好,但我們沒有圖表。
我的問題:
**1)**您如何看待此設置中的 iometer 性能?應該更好,沒關係,還是我應該搜尋一些配置錯誤?
**2)**您是否建議使用帶有監控軟體的單獨物理主機並且不要用這種IOPS“打擾”儲存?
**3)**這個問題更籠統。在儲存測試之後,我們可以獲得不同塊大小的 IOPS/mbps。但是如何評估應用程序主要使用的塊大小?例如,數據庫系統通常使用 75% 的讀取操作,但是塊大小是多少,以便我可以將其與我的結果進行比較?在不知道這些資訊的情況下,我的 iometer 測試只是數字。
更新1: 感謝您的回答。
所以我們所做的是,我們為 rrd 處理創建了 ramdisk,並且所有 rrd 每小時同步到監控磁碟。一切都執行得很快,但我們會考慮為這種需要良好寫入性能的 IOPS 創建另一個具有 RAID 10 的 RAID 組。
所描述的設置並不像它可能的那樣快。這是一種受支持的安排,因為您最多可以將四個主機連接到設置(如果您放棄 SAS 多路徑)。
你的觀點:
- 性能不好,但適合您的配置。我將參考Server Fault canonical RAID post,它基本上指出 RAID 6 不適合隨機寫入工作負載。虛擬機和監控系統因這種訪問模式而臭名昭著。如果可能,RAID 1+0 是更好的選擇。
- 我確實虛擬化了我的監控主機,但建構了儲存以適應它(偏向於更大的寫入記憶體,在 VM 中設置適當的 I/O 電梯選項)。這適用於其他基於 RRD 的工具(orca和OpenNMS),但絕對適用於 Cacti。
- 就測試而言,我認為跟踪平均事務/塊大小並不重要,因為更大的架構問題可以產生更大的全面收益。不過,您可以跟踪應用程序。此外,考慮通過 vCenter 或 esxtop/resxtop 檢查 VM 儲存性能。