溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何做SQL Server性能測(cè)試?

發(fā)布時(shí)間:2020-07-18 18:38:27 來(lái)源:網(wǎng)絡(luò) 閱讀:6620 作者:UltraSQL 欄目:數(shù)據(jù)庫(kù)

對(duì)于DBA來(lái)講,我們都會(huì)做新服務(wù)器的性能測(cè)試。我會(huì)從TPC的基準(zhǔn)測(cè)試入手,使用HammerDB做整體性能評(píng)估(前身是HammerOra),跟廠商數(shù)據(jù)對(duì)比。再使用DiskSpd針對(duì)性的測(cè)試磁盤(pán)IO性能指標(biāo)(前身是SQLIO),再到SQLIOSIM測(cè)試存儲(chǔ)的完整性,再到ostress并發(fā)壓力測(cè)試,對(duì)于數(shù)據(jù)庫(kù)服務(wù)器遷移,我們還會(huì)收集和回放Profiler Trace,并收集期間關(guān)鍵性能計(jì)數(shù)器做對(duì)比。


下面我著重談?wù)勈褂肏ammerDB的TPC-C來(lái)做SQL Server基準(zhǔn)測(cè)試。



自己寫(xiě)負(fù)載測(cè)試代碼很困難


為了模擬數(shù)據(jù)庫(kù)的負(fù)載,你想要有多個(gè)應(yīng)用程序用戶和混合數(shù)據(jù)讀寫(xiě)的語(yǔ)句。你不想總是對(duì)單一行更新相同的值,或者只是重復(fù)插入假的值。


自己動(dòng)手使用Powershell、C#等語(yǔ)言寫(xiě)負(fù)載測(cè)試腳本也不是不可能,只是太消耗時(shí)間,你需要?jiǎng)?chuàng)建或者恢復(fù)數(shù)據(jù)庫(kù),并做對(duì)應(yīng)的測(cè)試。



免費(fèi)而簡(jiǎn)單的壓測(cè)SQL Server:使用HammerDB模擬OLTP數(shù)據(jù)庫(kù)負(fù)載


HammerDB是一個(gè)免費(fèi)、開(kāi)源的工具,允許你針對(duì)SQL Server、Oracle、MySQL和PostgreSQL等運(yùn)行TPC-C和TPC-H基準(zhǔn)測(cè)試。你可以使用HammerDB來(lái)針對(duì)一個(gè)數(shù)據(jù)庫(kù)生成腳本并導(dǎo)入測(cè)試。HammerDB也允許你配置一個(gè)測(cè)試運(yùn)行的長(zhǎng)度,定義暖機(jī)階段,對(duì)于每個(gè)運(yùn)行的虛擬用戶的數(shù)量。


首先,HammerDB有一個(gè)自動(dòng)化隊(duì)列,讓你將多個(gè)運(yùn)行在不同級(jí)別的虛擬用戶整合到一個(gè)隊(duì)列--你可以以此獲得在什么級(jí)別下虛擬用戶性能平穩(wěn)的結(jié)果曲線。你也可以用它來(lái)模擬用于示范或研究目的的不同負(fù)載。



用于SQL Server上的HammerDB的優(yōu)缺點(diǎn)


HammerDB是一個(gè)免費(fèi)工具,它也極易訪問(wèn)和快速的啟動(dòng)基準(zhǔn)測(cè)試和模擬負(fù)載的方法。它的自動(dòng)程序特性也是的運(yùn)行工作負(fù)載相當(dāng)自動(dòng)。


主要缺點(diǎn)是它有一個(gè)學(xué)習(xí)曲線。用戶界面不是很直觀,需要花費(fèi)時(shí)間去習(xí)慣。再你使用這個(gè)工具一段時(shí)間之后,將會(huì)更加容易。


HammerDB也不是運(yùn)行每一個(gè)基準(zhǔn)測(cè)試。它不運(yùn)行TPC-E基準(zhǔn),例如,SQL Server更熱衷于當(dāng)前更具發(fā)展的OLTP基準(zhǔn)TPC-E。如果你用HammerDB運(yùn)行一個(gè)TPC-C基準(zhǔn),你應(yīng)該理解它不能直接與供應(yīng)商提供的TPC-C基準(zhǔn)結(jié)果相比較。但是,它是免費(fèi)的、快速的、易用的。



基準(zhǔn)測(cè)試使用案例


基準(zhǔn)測(cè)試負(fù)載不能精確模擬你的應(yīng)用程序的特點(diǎn)。每個(gè)負(fù)載是唯一的,在不同的系統(tǒng)有不同的瓶頸。對(duì)于很多使用案例,使用預(yù)定義的基準(zhǔn)測(cè)試仍然是非常有效的,包括以下性能的比較:

  • 多個(gè)環(huán)境(例如:舊的物理服務(wù)器,新的虛擬環(huán)境)

  • 使用各種因素的不同及時(shí)點(diǎn)(例如:使用共享存儲(chǔ)和共享主機(jī)資源的虛擬機(jī)的性能)

  • 在配置改變前后的點(diǎn)


當(dāng)然,對(duì)一個(gè)數(shù)據(jù)庫(kù)服務(wù)器運(yùn)行基準(zhǔn)測(cè)試可以影響其他SQL Server數(shù)據(jù)庫(kù)或者相同主機(jī)上其他虛擬機(jī)的性能,在生產(chǎn)環(huán)境你確保有完善的測(cè)試計(jì)劃。


對(duì)于自學(xué)和研究來(lái)說(shuō),有預(yù)配置的負(fù)載非常棒。



開(kāi)始使用基準(zhǔn)測(cè)試


你可以從閱讀HammerDB官方文檔的“SQL Server OLTP Load Testing Guide”開(kāi)始。



深入閱讀:


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/



向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI