(1) SQL Server 2005 的 「SQLIOSim 公用程式」 是需要個別上網下載之套件。
(2) 從 SQL Server 2008 開始,「SQLIOSim 公用程式」 會包含 SQL Server 安裝內。
「SQLIOSim 公用程式」會取代「SQLIOStress 公用程式」。
「SQLIOStress 公用程式」之前稱為 「 SQL70IOStress 公用程式」。
「SQLIOSim 公用程式」主要的功能:
(1) 使用此工具來執行磁碟子系統上的可靠性和完整性測試。
(2) 這些測試會模擬 SQL Server 的讀取、 寫入、 檢查點、 備份、 排序和預先讀取等等的活動。
若需要的對磁碟子系統執行基準測試等需求,建議使用「SQLIO 公用程式」。
http://sharedderrick.blogspot.com/2011/09/sqlio-sqlio-disk-subsystem-benchmark_26.html
「SQLIOSim 公用程式」與「SQLIOStress 公用程式」比較起來:
更精確地模擬的 SQL Server 2005、 SQL Server 2000,及 SQL Server 7.0 的磁碟 I/O 模式。
使用環境:
(1) 可以不用事先安裝 SQL Server。
(2) 適用於模擬產生 SQL Server 7.0、SQL Server 2000、SQL Server 2005 的磁碟 I/O 模式。
相關檔案的說明:
(1) SQLIOSIM.COM 檔案:是一種命令列工具讓您可以設定在沒有使用者互動的情況下執行。
若要執行這項操作,您可以使用命令列參數,組態檔或這兩種方法的組合。
(2) SQLIOSIM.EXE 檔案:是一個圖形的應用程式可接受不在命令列參數。
但是,SQLIOSim.exe 並不會載入預設的組態資料組態檔。
(3) sqliosim.cfg.in 檔案:此為目前的環境組態檔案(Config File),因故調整 「SQLIOSim 公用程式」的參數,此檔案將用來存放相關的設定,若刪除此檔案,將回復系統的預設值。
若是沒有此檔案,「SQLIOSim 公用程式」於第一次執行後會自動產生。
(4) sqliosim.log.xml 檔案:存放 「SQLIOSim 公用程式」在執行後的相關記錄。每次執行的結果,都會附加在此檔案內。
(5) ErrorLog.xslt 檔案:sqliosim.log.xml 需要使用此 ErrorLog.xslt 檔案來進行轉化。
實作練習:認識「SQLIOSim 公用程式」,以下載「SQLIOSim 公用程式」為例
使用環境:
Windows Server 2008 R2 x64 位元作業系統
可以不用事先安裝 SQL Server。
適用於模擬產生 SQL Server 7.0、SQL Server 2000、SQL Server 2005 的磁碟 I/O 模式。
已經組態兩個磁碟區:C、E。
使用 Hyper-V:VHD 檔案。
磁碟機資訊:
Model : ST3160815AS
Disk Size : 160.0 GB
Spindle Speed : 7200 RPM
工作1:下載 「SQLIOSim 公用程式」
請依據作業系統的版本,選擇合適的版本:
(1) 「SQLIOSim 公用程式」,x86 版本
http://download.microsoft.com/download/3/8/0/3804cb1c-a911-4d12-8525-e5780197e0b5/SQLIOSimX86.exe
(2) 「SQLIOSim 公用程式」,x64 版本
http://download.microsoft.com/download/6/5/2/65286f65-bff2-42b8-b0c9-87f117855069/sqliosimX64.exe
(3) 「SQLIOSim 公用程式」,itanium 型版本
http://download.microsoft.com/download/2/c/f/2cf8fb0a-a943-456b-9cf5-68ce426180a1/SQLIOSimIA64.exe
工作2:安裝「SQLIOSim 公用程式」
步驟01. 使用「檔案總管」,執行檔案:sqliosimX64.exe。
步驟02. 在「開啟檔案-安全性警告」視窗,點選「執行」。
--01
步驟03. 在「Microsoft SQL Server IO Simulator」視窗,點選「是」。
--02
步驟03. 在「WinZip Self-Extractor -SQLIOS~1.EXE」視窗,接受預設值的解壓縮路徑:c:\SQLIOSimX64,點選「Unzip」。
--03
步驟04. 在「WinZip Self-Extractor」視窗,點選「確定」。
--04
步驟05. 在「WinZip Self-Extractor -SQLIOS~1.EXE」視窗,點選「Close」。
工作3:認識「SQLIOSim 公用程式」的圖形介面應用程式
步驟01. 使用「檔案總管」,執行:"C:\SQLIOSimX64\sqliosim.exe"。
--05
--06
步驟02. 在「Files and Configuation」視窗,在「Database Files」區域,在中間的「檔案名稱」區域,設定以下參數:
選取「C:\sqliosim.mdx」,點選「Remove」按鈕。
選取「C:\sqliosim.ldx」,點選「Remove」按鈕。
--07
--08
選取「E:\sqliosim.mdx」,在「Size(MB)」方塊,變更資料值由原先的 4096 為 2048;
在「Max Size」方塊,變更資料值由原先的 8192 為 4096;
在「Increment」方塊,變更資料值由原先的 10 為 20,點選「Apply」。
選取「E:\sqliosim.ldx」,在「Size(MB)」方塊,設定為 512;
在「Max Size」方塊,變更資料值由原先的 50 為 2048;
在「Increment」方塊,變更資料值由原先的 0 為 10,點選「Apply」。
在「System Level Configurations」區域,在「Cycle Duration(sec)」方塊,變更資料值由原先的 300 為 60,勾選「Delete Files at Shutdown」。
--09
注意事項:
檔案 *.mdx:相當於 *.mdf,也就是資料檔案。
檔案 *.ldx:相當於 *.ldf,也就是交易記錄檔案。
--10_至少要有一個記錄檔和一個資料檔
步驟04. 在「SQLIOSim」程式視窗,在上方的工具列,點選「Start」按鈕。
第一次執行時,因為沒有記錄檔案,會有警告訊息。
--11
--12
--13
--14
步驟05. 等待「SQLIOSim 公用程式」執行完成後,在「SQLIOSim」視窗,點選「確定」。
--15
步驟06. 檢視「SQLIOSim 公用程式」的執行報表:
--16
--17
--18
例如,可以觀察 Running Average IO Duration 等資料:
... ********** Final Summary for file E:\sqliosim.mdx ********** ... Target IO Duration (ms) = 100, Running Average IO Duration (ms) = 7, Number of times IO throttled = 2240, IO request blocks = 53 Reads = 7231, Scatter Reads = 12068, Writes = 547, Gather Writes = 12640, Total IO Time (ms) = 5165089 DRIVE LEVEL: Sector size = 512, Cylinders = 16578, Media type = 12, Sectors per track = 63, Tracks per Cylinders = 255 ... ********** Final Summary for file E:\sqliosim.ldx ********** Target IO Duration (ms) = 100, Running Average IO Duration (ms) = 0, Number of times IO throttled = 7, IO request blocks = 8 Reads = 0, Scatter Reads = 0, Writes = 6686, Gather Writes = 0, Total IO Time (ms) = 55915
步驟07. 點選上方的「File」\「Exit」來離開此公用程式。
工作4:認識 「SQLIOSim 公用程式」的命令列工具
步驟01. 使用「檔案總管」,執行檔案:
C:\SQLIOSimX64\sqliosim.com
自動使用先前所建立的組態檔案:
C:\SQLIOSimX64\sqliosim.cfg.ini
--19
--20
步驟02. 執行完成後,執行視窗將會自動關閉。
步驟03. 可以使用 Internet Explorer 來閱讀檔案:sqliosim.log.xml。
檔案:sqliosim.cfg.zip 內的組態檔案
--21
檔案:sqliosim.cfg.zip,包含了 5 個組態設定檔,可以作為參考組態之用。
(1) Default.cfg.ini 檔案:Recommended for common testing.
(2) Hwcache.cfg.ini 檔案:Good for testing behaviors of the hardware cache.
(3) Nothrottle.cfg.ini 檔案:Tests pushing the system and drivers at high queue levels.
(4) Seqwrites.cfg.ini 檔案:Used to simulate load based activities such as BCP and restore.
(5) Sparse.cfg.ini 檔案:Tests sparse file behaviors that are used by DBCC and snapshot databases.
--22
參考資料:
如何使用 SQLIOSim 公用程式在磁碟子系統上模擬 SQL Server 活動
http://support.microsoft.com/kb/231619
認識「SQLIOSim 公用程式」;以 SQL Server 2008 為例
http://sharedderrick.blogspot.com/2011/09/sqliosim-sql-server-2008.html