您好,登錄后才能下訂單哦!
對于DBA來講,我們都會做新服務器的性能測試。我會從TPC的基準測試入手,使用HammerDB做整體性能評估(前身是HammerOra),跟廠商數據對比。再使用DiskSpd針對性的測試磁盤IO性能指標(前身是SQLIO),再到SQLIOSIM測試存儲的完整性,再到ostress并發壓力測試,對于數據庫服務器遷移,我們還會收集和回放Profiler Trace,并收集期間關鍵性能計數器做對比。
下面我著重談談使用HammerDB的TPC-C來做SQL Server基準測試。
自己寫負載測試代碼很困難
為了模擬數據庫的負載,你想要有多個應用程序用戶和混合數據讀寫的語句。你不想總是對單一行更新相同的值,或者只是重復插入假的值。
自己動手使用Powershell、C#等語言寫負載測試腳本也不是不可能,只是太消耗時間,你需要創建或者恢復數據庫,并做對應的測試。
免費而簡單的壓測SQL Server:使用HammerDB模擬OLTP數據庫負載
HammerDB是一個免費、開源的工具,允許你針對SQL Server、Oracle、MySQL和PostgreSQL等運行TPC-C和TPC-H基準測試。你可以使用HammerDB來針對一個數據庫生成腳本并導入測試。HammerDB也允許你配置一個測試運行的長度,定義暖機階段,對于每個運行的虛擬用戶的數量。
首先,HammerDB有一個自動化隊列,讓你將多個運行在不同級別的虛擬用戶整合到一個隊列--你可以以此獲得在什么級別下虛擬用戶性能平穩的結果曲線。你也可以用它來模擬用于示范或研究目的的不同負載。
用于SQL Server上的HammerDB的優缺點
HammerDB是一個免費工具,它也極易訪問和快速的啟動基準測試和模擬負載的方法。它的自動程序特性也是的運行工作負載相當自動。
主要缺點是它有一個學習曲線。用戶界面不是很直觀,需要花費時間去習慣。再你使用這個工具一段時間之后,將會更加容易。
HammerDB也不是運行每一個基準測試。它不運行TPC-E基準,例如,SQL Server更熱衷于當前更具發展的OLTP基準TPC-E。如果你用HammerDB運行一個TPC-C基準,你應該理解它不能直接與供應商提供的TPC-C基準結果相比較。但是,它是免費的、快速的、易用的。
基準測試使用案例
基準測試負載不能精確模擬你的應用程序的特點。每個負載是唯一的,在不同的系統有不同的瓶頸。對于很多使用案例,使用預定義的基準測試仍然是非常有效的,包括以下性能的比較:
多個環境(例如:舊的物理服務器,新的虛擬環境)
使用各種因素的不同及時點(例如:使用共享存儲和共享主機資源的虛擬機的性能)
在配置改變前后的點
當然,對一個數據庫服務器運行基準測試可以影響其他SQL Server數據庫或者相同主機上其他虛擬機的性能,在生產環境你確保有完善的測試計劃。
對于自學和研究來說,有預配置的負載非常棒。
開始使用基準測試
你可以從閱讀HammerDB官方文檔的“SQL Server OLTP Load Testing Guide”開始。
深入閱讀:
HammerDB
http://www.hammerdb.com/document.html
DiskSpd
https://gallery.technet.microsoft.com/DiskSpd-a-robust-storage-6cd2f223
SQLIOSIM
https://www.simple-talk.com/sql/database-administration/the-sql-server-sqliosim-utility/
ostress
https://msdn.microsoft.com/zh-cn/library/dn511655.aspx
Free Tools for Testing SQL Sever
http://sqlserverio.com/2012/08/16/free-tools-for-testing-sql-sever/
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。