Windows-Server-2008-R2

解釋 SQLIO 測試結果

  • February 1, 2012

我一直在預生產集群的專用 DB SAN 上執行一系列負載測試(戴爾 R710 通過 2 個千兆乙太網連接連接到專用 RAID10 SAN),我不確定我是否正確解釋了數據。

作為參考,這裡是原始數據。

測試 1

sqlio v1.5.SG
using system counter for latency timings, 2727587 counts per second
parameter file used: paramD100.txt
   file d:\tmp\testfile.dat with 2 threads (0-1) using mask 0x0 (0)
2 threads reading for 120 secs from file d:\tmp\testfile.dat
   using 64KB random IOs
   enabling multiple I/Os per thread with 2 outstanding
   buffering set to use hardware disk cache (but not file cache)
using specified size: 20480 MB for file: d:\tmp\testfile.dat
initialization done
CUMULATIVE DATA:
throughput metrics:
IOs/sec:   372.12
MBs/sec:    23.25
latency metrics:
Min_Latency(ms): 1
Avg_Latency(ms): 10
Max_Latency(ms): 159

測試 2

sqlio v1.5.SG
using system counter for latency timings, 2727587 counts per second
parameter file used: paramD100.txt
   file d:\tmp\testfile.dat with 2 threads (0-1) using mask 0x0 (0)
2 threads reading for 120 secs from file d:\tmp\testfile.dat
   using 64KB random IOs
   enabling multiple I/Os per thread with 2 outstanding
   buffering set to use hardware disk cache (but not file cache)
using specified size: 20480 MB for file: d:\tmp\testfile.dat
initialization done
CUMULATIVE DATA:
throughput metrics:
IOs/sec:   358.26
MBs/sec:    22.39
latency metrics:
Min_Latency(ms): 1
Avg_Latency(ms): 10
Max_Latency(ms): 169

為了減少測試結果之間的差異,這些測試連續兩天在上午 11:30 執行。

鑑於這種負載模式,我是否應該期望得到盡可能低的 MBPS 吞吐量,或者我是否正確解釋了這一點並認為網路或 SAN(或全部)存在問題?

謝謝。

更新#1

具體來說,設置如下。

生產數據庫集群

戴爾 R710,帶有 2 個 Broadcom 5709(支持 iSCSI 和 TOE 解除安裝,使用戴爾的多路徑 IO 軟體)。是的,我看過“Broadcom - die mutha”的文章:S

轉變

2 Juniper EX4200-48T 充當單個虛擬交換機

每個集群上每個 Broadcom NIC 的一個連接連接到一個交換機,並且每個交換機到 SAN 有 2 個千兆連接。

SAN

Dell EqualLogic PS6000E iSCSI SAN,配備 16 個(14 + 2 個熱備件)2tb 7200rpm 驅動器

據我所知,以及我認為這應該如何工作,理論上我們應該獲得 200mbps,正如你所看到的,我們不是。

更新 2

為了提供更多背景資訊,這裡有一張圖表,顯示了 4 次單獨執行的平均 mbps。

作為參考,Y 軸是 MBPS,X 軸是 IO 類型(隨機或順序)、待處理 IO 和操作(讀取與寫入)。

圖片已禁用,所以這裡有一個連結 -顯示 4 次 SQLIO 執行的平均結果的圖表

這裡有兩件事與我有關-

  • 首先,隨機讀取吞吐量低於我的預期
  • 其次,隨機寫入 IO 的穩定期為 110mbps,而表明陣列的能力應該不止於此。

這是這種設置的大致預期模式嗎?還有其他看起來不合適或錯誤的地方嗎?

理論上我們應該得到 200mbps

在你的夢裡。當不進行隨機 IO 時,msot 時間花在從一個扇區跳到另一個扇區。但是隨機 io 和少數慢速最終使用者磁碟聽起來是對的 - 歡迎來到一個世界,您可以為一對磁碟獲得大約 300 IOPS,而 SSD 可以為您提供 60.000。現在也許你明白 SSD kiklkl 是用於隨機 IO 的 SAN,而最終使用者喜歡 osm uch 的 MB/S 數字與數據庫儲存後端無關。

您還破壞的是:

每個執行緒啟用多個 I/O,有 2 個未完成

好的,鑑於​​ SATA NCQ(本機命令隊列)智能地重新排序磁碟中多達 32 個掛起的請求,同時僅發送 2 個是次優的。您會得到 2x2 = 4 的出色表現,但每張光碟可以處理 32 個。

Taht 說,最後你需要 (a) 更快的磁碟 (b) 更多的磁碟以獲得更高的 IOPS。或者像樣的二級記憶體(Adaptec RAID 控制器可以使用 SSD 作為讀寫記憶體)。

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