SQL Server 2016 SP2
這次介紹的壓測軟體"Stress",是由sp_whoisactive 作者"Adam Machanic"所開發,而且已釋出到開源專案平臺 GitHub 上。
下載來源:
https://github.com/ErikEJ/SqlQueryStress
這次我們要測試的版本是0.9.7.61
Stress偏向測試script在多人同時使用時,script反應時間與使用狀況
與RML有點不一樣,可以看到多人同時執行的狀態,各自獨立session連到db,沒有connection pool概念。執行完session即結束。
1.開始安裝"Stress"
安裝步驟一
安裝步驟二
採用預設安裝
點選"Next"進行安裝
2.開啟"Stress"
說明:
1.Clean Buffers : DBCC DROPCLEANBUFFERS
2.Free Cache : DBCC FREEPROCCACHE
3.Connection Timeout : 目標伺服器的連線逾時,超過時將回報錯誤
4.Connection Pooling : 啟用或是停用 Connection Pooling,預設啟用
5.Command Timeout : 指令逾時,超過時將回報錯誤
6.Collect I/O Statistics 與 Collect Time Statistics : 是否要收集 I/O 與 Time 統計值
7.Force Client Retrieval of Data : 強迫查詢的資料必須使用 SQL Server 主機的網路資源傳回
3.設定"Stress"連線
設定連線測試主機,並用SQL帳號認證
設定測試DB
4.輸入測試查詢指令
command:
SELECT * FROM dbo.test01
number of Iteration 設定 20
number of thread 設定 40
5.輸入測試procedure
command:
EXECUTE dbo.TESTQUERY
number of Iteration 設定 300
number of thread 設定 40
6.測試connection pool是否實現
command:
EXECUTE dbo.TESTQUERY
number of Iteration 設定 800
number of thread 設定 100
查詢所有session數量
command:
SELECT * FROM SYS.dm_exec_sessions WHERE login_name='test'
session共有102,包含了查詢的session
