很久沒有寫文章了,在系統正式上線之前,DBA一般都要測試一下伺服器的效能
比如你有很多的伺服器,有些做web伺服器,有些做快取服務器,有些做檔案伺服器,有些做資料庫伺服器
做資料庫伺服器的那台伺服器效能要相對較好,磁碟,記憶體,CPU等等,
那麼在選用其中某一台伺服器作為資料庫伺服器之前需要測試每一台伺服器的效能
並且需要設定一些硬體的參數,例如設定磁碟控制卡的參數,參考文章:Writeback和Writethrough區別
那麼具體怎麽測試呢?怎麽得出測試單位呢?
大家可以參考這篇文章:SQL Server Database Engine Performance Tuning Basics
本文
隨著市場份額的SQL Server的發展隨著時間的推移,有越來越多的對SQL伺服器效能調優的需求。
有不同的團隊和個人採用各種各樣的方法提高SQLSERVER伺服器的效能,
而且我認為這些記錄SQLSERVER troubleshooting 的基本步驟和提高各種程式效能的文檔對SQLSERVER社區是有意義的
磁碟
為了SQLSERVER能有效運行,監控和最佳化SQLSERVER的磁碟子系統是一個重要的方面
我們需要非常明確磁碟的效能需求
Avg. Disk Sec/Read 這個計數器是指每秒從磁碟讀取資料的平均值
下面的列表顯示這個計數器值的範圍,並指出這個計數器所處範圍的意思
少於 10 ms - 非常好 在 10 - 20 ms 之間- 還可以 在 20 - 50 ms 之間- 慢,需要關注 大於 50 ms –嚴重的 I/O 瓶頸
磁碟效能測試工具
(1)CrystalDiskMark
(2)HDTUNE 硬碟檢測修複工具
(3)ATTO Disk Benchmark
辨別I/O瓶頸
PhysicalDisk Object:Avg. Disk Queue:所選物理磁碟在取樣期間被排隊的磁碟讀寫請求平均值
如果你的磁碟隊列長度經常超出SQLSERVER磁碟使用峰值的2倍,那意味著可能有I/O瓶頸了
Avg. Disk Sec/Read:每秒從磁碟讀取資料的平均值
Avg. Disk Sec/Write:寫入資料到磁碟的平均時間,Avg. Disk Sec/Read參考指標
Physical Disk:%Disk Time磁碟時間是所選磁碟機繁忙處理讀寫請求時所花時間的百分比,一個指標就是如果這個值大於50%,那麼就存在I/O瓶頸
Avg. Disk Reads/Sec:在磁碟上的讀操作的比率。確保這個數字小於磁碟輸送量的85%。當這個值超過85%磁碟存取時間會以指數式增長
Avg. Disk Writes/Sec c:在磁碟上的寫操作的比率。確保這個數字小於磁碟輸送量的85%。當這個值超過85%磁碟存取時間會以指數式增長
對於更多的資訊,可以參考“如何建立效能計數器集”:http://technet.microsoft.com/en-us/library/cc722148.aspx