OSTRESS:可以對 SQL Server 做壓力測試的工具,這是以 ODBC 為基礎的多重執行緒的查詢工具。
- 可以設定平行執行給定 T-SQL 陳述式的執行緒數目,以及指定此執行緒上應該執行陳述式的次數。
- OSTRESS 會加快執行緒的速度,並平行執行所有執行緒上的陳述式。
- 所有執行緒完成執行之後,OSTRESS 會報告所有執行緒完成執行所花費的時間。
這是 Microsoft SQL Server support team 內部所使用的公用程式。
請謹慎使用。
使用 OSTRESS
點選「RML Cmd Prompt」命令提示字元視窗。
範例:
(1) 直接執行指定的 T-SQL 陳述式。
使用參數 Q
ostress.exe -Q"Select @@VERSION"
若未指定結果的輸出目錄,將會放置到該使用者帳戶的預設TEMP資料夾內,例如:C:\Users\Administrator\AppData\Local\Temp\output。
(2) 重複執行指定的 T-SQL 陳述式 100 次。
使用參數:r
ostress.exe –Q"SELECT @@VERSION" -r100
(3) 開啟 50 條並行連接,也就是 50 條執行緒(threads),並且重複執行 100 次。
使用參數:n 、 r。執行完成後,會關閉連線。
ostress.exe –Q"SELECT @@VERSION" -n50 –r100
(4) 開啟 50 條並行連接,也就是 50 條執行緒(threads),重複執行 20 次,並且採取安靜模式,抑制所有查詢輸出。
使用參數:q 、 n 、 r。執行完成後,會關閉連線。
ostress.exe –Q"SELECT @@VERSION" -n50 –r20 -q
(5) 直接執行指定的 T-SQL 陳述式,將結果輸出到c:\temp。
使用參數:o。測試後,使用者權限足夠,系統會自動建立資料夾。
ostress.exe -Q"SELECT @@VERSION" –oc:\temp
OSTRESS 參數說明
提醒事項,有區分大小寫。
-S:要連接之 MicrosoftSQL Server 執行個體的名稱
-E:使用 Windows 驗證進行連接 (預設值),如果使用 SQL Server 驗證,請分別使用 -U 和 -P 選項來指定使用者名稱和密碼
-d:資料庫的名稱
-Q:要執行的 T-SQL 陳述式
-n:處理每個輸入檔案/查詢的連接數目
-r:每個連接執行每個輸入檔案/查詢的反覆運算次數
-q:安靜模式;抑制所有查詢輸出
-- OSTRESS 可用參數
請參考以下的安裝抓圖
示範環境:
作業系統:SQL Server 2016。
抓圖歷程:下載與安裝 RML(Replay Markup Language) 公用程式
https://goo.gl/photos/gpq8ENxACvMY1nQk7
OSTRESS 是由 Microsoft CSS SQL Server 支援小組所開發的命令列工具。
此工具可用來平行執行查詢或執行預存程序。
您可以設定平行執行給定 T-SQL 陳述式的執行緒數目,以及指定此執行緒上應該執行陳述式的次數,ostress 會加快執行緒的速度,並平行執行所有執行緒上的陳述式。
所有執行緒完成執行之後,ostress 會報告所有執行緒完成執行所花費的時間。
安裝 OSTRESS
OSTRESS 會當做 RML 公用程式的一部分來安裝,您無法獨立安裝 OSTRESS。
[SQL Server]:下載與安裝 RML(Replay Markup Language) 公用程式
http://sharedderrick.blogspot.tw/2017/03/sql-server-rmlreplay-markup-language.html
參考資料
記憶體內部 OLTP 的範例資料庫
https://msdn.microsoft.com/zh-tw/library/mt465764.aspx
Cumulative Update 2 to the RML Utilities for Microsoft SQL Server Released
https://blogs.msdn.microsoft.com/psssql/2013/10/29/cumulative-update-2-to-the-rml-utilities-for-microsoft-sql-server-released/
安裝 RML 公用程式和 ostress
https://github.com/Azure/azure-content-zhtw/blob/master/articles/sql-database/sql-database-in-memory.md
Description of the Replay Markup Language (RML) Utilities for SQL Server
https://support.microsoft.com/zh-tw/help/944837/description-of-the-replay-markup-language-rml-utilities-for-sql-server
Download RML Utilities for SQL Server (x64) CU4
https://www.microsoft.com/en-us/download/details.aspx?id=4511
SQL Server Stress Testing
http://www.sqlconsulting.com/news1103.htm
[SQL Server]:下載與安裝 RML(Replay Markup Language) 公用程式
http://sharedderrick.blogspot.tw/2017/03/sql-server-rmlreplay-markup-language.html
沒有留言:
張貼留言