SQLQueryStress 是 SQL Server 壓力測試工具,無須安裝 Portable Edition
同樣是由 sp_whoisactive 作者 - Adam Machanic 所開發,目前已釋出到開源專案平臺 GitHub 上。真的很感謝 Adam 大師提供許多好用的工具給 DBA,以及 ErikEJ 大師的更新維護。
SQLQueryStress 在使用上 無須安裝,且檔案輕巧(約 745 KB - Version 0.9.7.53)。這是在執行壓力測試時的好工具。
補充包:
[SQL Server] Stress testing, SQLQueryStress parameter, 壓力測試, 搭配使用 參數 (2)
http://sharedderrick.blogspot.tw/2017/08/sql-server-stress-testing.html
SQLQueryStress 相關說明
可將測試用的連線字串、組態參數等存檔紀錄,利於重複使用,其組態檔案的副檔名:*.sqlstress。
參數說明
參數 | 說明 |
Number of Iterations | 設定要執行的次數 |
Number of Threads | 設定要使用多少數量的執行緒/連線數 |
Delay between queries (ms) | 設定執行每個 T-SQL 陳述式的間隔時間 |
按鈕 | 說明 |
Clean Buffers | 執行:DBCC DROPCLEANBUFFERS |
Free Cache | 執行:DBCC FREEPROCCACHE |
選項說明
選項 | 說明 |
Connection Timeout | 設定目標伺服器的連線逾時,超過時將回報錯誤。 |
Connection Pooling | 設定 啟用 或是 停用 Connection Pooling,這可以用來觀察 建立新連線 與 銷毀該連線 時的影響。 |
Command Timeout | 設定 命令逾時,超過時將回報錯誤。 |
Collect I/O Statistics 與 Collect Time Statistics | 設定是否要收集 I/O 與 Time 統計值。以資源使用角度,這是更輕量級、更省資源的運行方式。 |
Force Client Retrieval of Data |
強迫查詢的資料必須使用 SQL Server 主機的網路資源傳回。
在大量資料的測試上,若需要模擬對 網路 的影響,需要啟用。
|
使用 SQLQueryStress
示範版本:
SQLQueryStress Version 0.9.7.53
使用環境
SQL Server 2016
工作01. 直接執行 免安裝 的 SQLQueryStress.exe
-- 001_直接執行 免安裝 的 SQLQueryStress.exe
點選 Help \ About,可以看到 SQLQueryStress 版本編號:SQLQueryStress Version 0.9.7.53
-- 002_SQLQueryStress Version 0.9.7.53
工作02. 設定連線
點選 Database,在 Database Select 視窗,設定要連線的 SQL Server 執行個體。
-- 003_點選 Database,設定連線
-- 004_支援Mixed mode
-- 005_列舉Default_Database
-- 006_點選_Test Connection
-- 007_設定連線
工作03. 輸入要執行 T-SQL,設定執行方式、次數、執行緒
在左邊窗格,輸入要執行:T-SQL 陳述式
-- 008_輸入要執行的T-SQL
在 Number of Iterations,設定要執行的次數。
在 Number of Threads,設定要使用多少數量的執行緒/連線數。
在 Delay between queries (ms),設定執行每個 T-SQL 陳述式的間隔時間。
-- 009_設定執行次數, 執行緒的數量
產生 10 個執行緒,每個執行緒執行此 T-SQL 陳述式 10 次。
並且,設定執行每個 T-SQL 陳述式的間隔時間為 1 秒鐘。
-- 010_設定執行次數_執行緒數量_執行間隔
點選 GO,執行。
工作04. 觀察執行結果
-- 011_觀察_1st_執行結果
-- 012_觀察_2nd_執行結果
工作05. 觀察錯誤訊息
若有遭遇錯誤,可以在 Total Exceptions 觀察到。
-- 013_刻意製造錯誤_物件名稱不正確_產生 100 次錯誤
-- 014_刻意製造錯誤_物件名稱不正確_產生 100 次錯誤
工作06. 設定 SQLQueryStress 相關屬性
點選 File,Options,可以看到 Options 視窗
-- 015_設定 SQLQueryStress 的 Options
工作07. 儲存相關的組態設定,利於重複使用
若要重複使用先前設定連線字串,點選 File,Save Setting,可將相關組態設定保存下來,副檔名:*.sqlstress。
這組態資訊檔案,包含:
- 連線字串
- 執行的 T-SQL陳述式
- Number of Iterations
- Number of Threads
- Delay between queries (ms)
- Options
等。
-- 015_儲存相關的組態設定,利於重複使用
關閉後,再度重新執行 SQLQueryStress 沒有任何設定
-- 016_關閉後,再度重新執行 SQLQueryStress 沒有任何設定
點選 File,Load Settings,選取要開啟的組態設定檔案
-- 017_選取要開啟的組態設定檔案
-- 018_載入先前的組態資訊
-- 029_觀察_組態設定檔案
-- 030_觀察_組態設定檔案_Notepad
下載 SQLQueryStress
下載 最新版本:SQLQueryStress Version 0.9.7.53
The latest build for the application has been released by @ErikEJ which contains changes related to IO reads on Temp and Global Temp tables. https://ci.appveyor.com/api/projects/ErikEJ/SqlQueryStress/artifacts/SqlQueryStress.zip?branch=master
-- 100_下載最新版本_SQLQueryStress Version 0.9.7.53
下載的檔案是:SqlQueryStress.zip,請直接解壓縮,將產生單一個檔案:SQLQueryStress.exe
SQLQueryStress 是採取 免安裝 方式,
直接執行 SQLQueryStress.exe 即可使用。
-- 101_SqlQueryStress.zip
-- 102_免安裝的執行檔案_SQLQueryStress.exe
-- 103_免安裝的執行檔案_SQLQueryStress.exe_2
SQLQueryStress on Github
SQLQueryStress 已經放置到 開源專案平臺 GitHub 上。
SQLQueryStress 作者: Adam Machanic - Microsoft MVP
http://sqlblog.com/blogs/adam_machanic/archive/2016/01/04/sqlquerystress-the-source-code.aspx
-- 200_SQLQueryStress 作者: Adam Machanic
Adam Machanic 已提供 Soruce Code - SQLQueryStress_9_7_1.zip,並同意 Erik Ejlskov Jensen - Microsoft MVP 將 Source Code 其放置到 Github 。
ErikEJ/SqlQueryStress
https://github.com/ErikEJ/SqlQueryStress/wiki
-- 201_Erik Ejlskov Jensen_Introducing the SQLQueryStress Performance Testing Tool
-- 202_SqlQueryStress_GitHub_Code
參考資料
SQLQueryStress: The Source Code - Adam Machanic
http://sqlblog.com/blogs/adam_machanic/archive/2016/01/04/sqlquerystress-the-source-code.aspx
Announcing SQLQueryStress: A simple query load tool
http://sqlblog.com/blogs/adam_machanic/archive/2006/10/21/announcing-sqlquerystress-a-simple-query-load-tool.aspx
How to Fake Load Tests with SQLQueryStress
https://www.brentozar.com/archive/2015/05/how-to-fake-load-tests-with-sqlquerystress/
ErikEJ/SqlQueryStress
https://github.com/ErikEJ/SqlQueryStress
Introducing the SQLQueryStress Performance Testing Tool
https://github.com/ErikEJ/SqlQueryStress/wiki
[SQL Server] sp_whoisactive: find out long running queries (找出費時、耗資源的查詢)
http://sharedderrick.blogspot.tw/2017/07/sql-server-spwhoisactive-find-out-long.html
不敵GitHub,微軟開放源碼分享平台CodePlex年底關門
http://www.ithome.com.tw/news/113233
[SQL Server] Stress testing, SQLQueryStress parameter, 壓力測試, 搭配使用 參數 (2)
http://sharedderrick.blogspot.tw/2017/08/sql-server-stress-testing.html
沒有留言:
張貼留言