搜尋本站文章

2011-09-26

認識「SQLIO 公用程式」;SQLIO Disk Subsystem Benchmark Tool

適用環境:
Windows 2000, Windows 2000 Service Pack 2, Windows 2000 Service Pack 3, Windows 2000 Service Pack 4, Windows NT, Windows Server 2003, Windows XP, Windows XP 64-bit


「SQLIO 公用程式」是一套磁碟子系統評測工具,提供了:
執行基準測試、檢測磁碟 I/O 效能、磁碟 I/O 流量 (IOps) 等功能。

「SQLIO 公用程式」的目的:
不是以模擬 SQL Server 的磁碟 I/O 模式,而是來測試各種磁碟 I/O 類型和大小,並確定此磁碟 I/O 子系統的能力。



下載與安裝 「SQLIO 公用程式」 磁碟子系統基準測試工具

步驟01. 下載網址:
SQLIO Disk Subsystem Benchmark Tool
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=20163

--01


步驟02. 使用「檔案總管」,執行檔案:SQLIO.msi。
--02


步驟03. 在「開啟檔案 - 安全性警告」視窗,點選「執行」。
--03


步驟04. 在「 Welcome to the SQLIO Setup Wizard」視窗,點選「Next」。
--04


步驟05. 在「License Agreement」視窗,點選「I Agree」,點選「Next」。
--05


步驟06. 在「Select Installation Folder」視窗,接受預設的安裝路徑:C:\Program Files (x86)\SQLIO\,點選「Next」。
--06


步驟07. 在「Confirm Installation」視窗,點選「Next」。
--07


步驟08. 在「Installation Complete」視窗,點選「Close」。
--08




實作練習:認識「SQLIO 公用程式」

使用環境
已經組態兩個磁碟區:C、E。
使用 Hyper-V:VHD 檔案。

目的
檢測指定的磁碟 I/O 活動

使用的磁碟資料
...
Model : ST3160815AS
Firmware : 3.AAD
Disk Size : 160.0 GB (8.4/137.4/160.0)
Buffer Size : 8192 KB
Spindle Speed : 7200 RPM
Queue Depth : 32
Interface : Serial ATA
Major Version : ATA/ATAPI-7
Transfer Mode : SATA/300
Power On Hours : 4598 小時
Power On Count : 252 次
Temparature : 40 C (104 F)
Health Status : 良好
...


工作1:組態與執行 「SQLIO 公用程式」

步驟01. 使用「檔案總管」,瀏覽資料夾:C:\Program Files (x86)\SQLIO。
--01


步驟02. 開啟檔案:C:\Program Files (x86)\SQLIO\param.txt。
--02


在 c:\testfile.dat 前面加上 #。

在最後一行,填入:

e:\testfile.dat 2 0x0 1024

其中,1024 是指建立的測試檔案大小為 1024 MB。

有關於相關的參數說明,請參考:
認識「SQLIO 公用程式」所使用的參數


--03


存檔,關閉文字編輯器。

步驟03. 使用「檔案總管」,開啟與閱讀檔案:C:\Program Files (x86)\SQLIO\Using SQLIO.rtf。
--04


--05


關閉閱讀檔案:Using SQLIO.rtf。

步驟04. 點選下方工具列的「開始」\「執行」,輸入與執行:CMD。
在「命令提示字元」視窗,輸入與執行:

CD "C:\Program Files (x86)\SQLIO"。

步驟05. 在「命令提示字元」視窗,輸入與執行以下的範例程式碼:

sqlio.exe -kR -s60 -fsequential -o8 –b64 -LS -Fparam.txt timeout /T 60

--06


--07


--08



觀察輸出,例如:
...
IOs/sec:169229.35
MBs/sec:330.52
Max_Latency(ms):5
...

步驟06. 在「命令提示字元」視窗,輸入與執行以下的範例程式碼:

sqlio.exe -kW -s60 -frandom -o8 –b8 -LS -Fparam.txt timeout /T 60

--09


--10


觀察輸出,例如:
...
IOs/sec:178444.36
MBs/sec:348.52
Max_Latency(ms):12
...



為了避免數據被快取給扭曲結果。

建議:每次進行測試前,重新啟動伺服器。

本次使用參數檔案為:param.txt:
e:\testfile.dat 4 0x0 1024

磁碟機資訊:
WD Western Digita 「迅猛龍(VelociRaptor)」,10000轉/16M x 2,組成 RAID 0。

使用 Hyper-V:VHD 檔案。

(1) sequential:READ
在「命令提示字元」視窗,輸入與執行以下的範例程式碼:
sqlio.exe -kR -s60 -fsequential -o8 –b64 -LS -Fparam.txt timeout /T 60

--01


觀察輸出,例如:
...
IOs/sec:67429.71
MBs/sec:131.68
Max_Latency(ms):42
...


(2) random:WRITE
在「命令提示字元」視窗,輸入與執行以下的範例程式碼:
sqlio.exe -kW -s60 -frandom -o8 –b8 -LS -Fparam.txt timeout /T 60

--02


觀察輸出,例如:
...
IOs/sec:1484.97
MBs/sec:2.90
Avg_Latency(ms):21
Max_Latency(ms):152
...



參考 Microsoft 提供的測試數據:



1此為標準 300 秒測試期間的平均 IOPS。它雖然開始為 ~3500 IOPS 但會在 3 到 4 分鐘之後降至持續的 ~1700 IOPS。

2由於區塊大小格式的不同,請使用 4kB 區塊讀取進行測試。

效能與容量測試 (FAST Search Server 2010 for SharePoint)




參考資料

SQLIO Disk Subsystem Benchmark Tool
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=20163

Using Microsoft SQLIO to Baseline LOB Application Disk Performance
http://blogs.technet.com/b/lobapps/archive/2010/09/03/using-microsoft-sqlio-to-baseline-lob-application-disk-performance.aspx

SQLIO Tips and Tricks for LOB Disk Performance Testing
http://blogs.technet.com/b/lobapps/archive/2010/09/27/using-sqlio-to-baseline-performance-tips-and-tricks.aspx

如何使用 SQLIOSim 公用程式以模擬在磁碟子系統上的 SQL Server 活動
http://support.microsoft.com/kb/231619/zh-tw

認識「SQLIO 公用程式」所使用的參數;SQLIO Disk Subsystem Benchmark Tool
http://sharedderrick.blogspot.com/2011/09/sqlio-sqlio-disk-subsystem-benchmark.html

效能與容量測試 (FAST Search Server 2010 for SharePoint)
http://technet.microsoft.com/zh-tw/library/gg604775.aspx

影片:認識 SQLIO 公用程式
http://sharedderrick.blogspot.com/2011/10/sqlio.html