【0】最佳實踐
(1)磁盤壓測
【IO壓測】sql server使用Diskspd測試SQL Server IO存儲
(2)TPS
【1】對比表
實際:
工具名 |
主要特點 |
圖形化展示 |
安裝平台 |
數據庫/OS測試 |
可測試數據庫類型 |
復雜度 |
參考鏈接 |
SQLQueryStress | 針對單條SQL進行簡單的壓力測試。測試結果包含執行時間、執行次數、邏輯讀、CPU等一些簡單信息 | 不可以 | Windows | 數據庫 | SQL Server | 簡單 | http://www.cnblogs.com/lyhabc/p/3187922.html https://www.mssqltips.com/sqlservertip/2730/sql-query-stress-tool/ |
SQLStress | 可手動調整的負載參數更多,如增刪改查語句的比例、連接用戶數、每次插入的行數、每秒產生的事務數等,輸出為連接信息、等待事件等(可直接在數據庫中查到)主要用於找出數據庫服務器的基礎架構問題, 也可幫助做服務器硬件選型、性能測試與調優 | 不可以 | Windows | 數據庫 | SQL Server | 簡單 | http://www.sqlstress.com/ http://wenku.baidu.com/link?url=PctaEskmoNMyVSaATLkAuZRJXnsgN_RcBeblgq0wv-9YsoAbl96MQfd0vPYgf_R-fiUL3W0weFKPQdbJz7FM3lPyeMbqDZnzcS9i1mMpGFu |
SQLIOSim與SQLIOSim Parse | SQLIOSim 模擬SQLServer的行為來測試IO性能,包括SQL Server 的讀、 寫、 檢查點、 備份、 排序和預讀活動等。默認隨SQL Server 2008同時安裝,SQLIOSim 將替代 SQLIOStress 工具(也稱為SQL70IOStress)。 SQLIOSim Parse讀取SQLIOSim輸出的XML格式結果文件,並將其轉換成簡單易讀的表格。 |
不可以 | Windows | 數據庫 | SQL Server | 一般 | SQLIOSim下載地址:http://download.microsoft.com/download/6/5/2/65286f65-bff2-42b8-b0c9-87f117855069/sqliosimX64.exe SQLIOSim Parse下載地址:http://sqliosimparser.codeplex.com/releases/view/34854 https://support.microsoft.com/zh-cn/help/231619/how-to-use-the-sqliosim-utility-to-simulate-sql-server-activity-on-a-d |
SQLIO(已廢棄)與SqlioAnalyzer | SQLIO是Microsoft官方的硬盤壓力測試工具,主要通過模擬隨機或順序讀寫的方式來測試磁盤IO的性能。盡管此工具並不是針對SQL Server工作模式來設計的,但是仍然可以用來診斷與SQL Server相關的一些I/O類型的性能,可以測量磁盤的IOPs、吞吐量 (MB/s)和延遲時間。 SqlioAnalyzer用於可視化和導出SQLIO測試結果 |
可以 | Windows | OS | 無特定,測試存儲系統能力的工具 | 一般 | http://www.microsoft.com/en-us/download/details.aspx?id=20163 http://www.meauxsoft.com/SqlioAnalyzer.html |
DiskSpd | SQLIO實用工具已經過時,因為已知的一些BUG使得對於性能調優來說不靠譜。SQL Server開發者決定用DiskSpd替代它。 Diskspd非常強大,所以各種測試參數的組合也顯得復雜。不過對於非專業用戶,使用其默認設置就可以對磁盤進行測試。對於高級用戶來說,可以手動指定存儲塊大小、緩存、突發I/O及測試線程等參數 |
不可以 | Windows | OS | 無特定,測試存儲系統能力的工具 | 復雜 | https://gallery.technet.microsoft.com/diskspd-a-robust-storage-6cd2f223 http://blog.51cto.com/ultrasql/1684582 https://www.helplib.com/iPhone/article_12272 |
HammerDB | HammerDB是一個免費、開源的工具,允許你針對SQL Server、Oracle、MySQL和PostgreSQL等運行TPC-C和TPC-H基准測試。你可以使用HammerDB來針對一個數據庫生成腳本並導入測試。HammerDB也允許你配置一個測試運行的長度,定義暖機階段,對於每個運行的虛擬用戶的數量 HammerDB也不是運行每一個基准測試。它不運行TPC-E基准,例如,SQL Server更熱衷於當前更具發展的OLTP基准TPC-E。如果你用HammerDB運行一個TPC-C基准,你應該理解它不能直接與供應商提供的TPC-C基准結果相比較。但是,它是免費的、快速的、易用的。 |
可以 | Linux和Windows | 數據庫 | Oracle, SQL Server, DB2, MySQL, MariaDB, PostgreSQL, Redis等 | 復雜 | https://blog.csdn.net/Space_zero/article/details/78924604 https://blog.csdn.net/u012439646/article/details/78348159 https://www.hammerdb.com/document.html |
如何做SQL Server性能測試?
http://blog.51cto.com/ultrasql/1903823
對於DBA來講,我們通常都會做新服務器的性能測試。一般從TPC的基准測試入手,使用HammerDB做整體性能評估(前身是HammerOra),跟廠商數據對比。
再使用DiskSpd針對性的測試磁盤IO性能指標(前身是SQLIO),再到SQLIOSIM(https://blog.51cto.com/ultrasql/1580080)測試存儲的完整性;
再到ostress並發壓力測試,對於數據庫服務器遷移,我們還會收集和回放Profiler Trace,並收集期間關鍵性能計數器做對比。