2011-09-10 66 views
6

今天早上我重新啓動了我的專用服務器。結果我的SQL Server非常敏感。我可以查詢1.500.000條記錄表,結果在幾秒內返回。如何檢查SQL Server數據庫的性能?

過了一段時間,我看到我的CPU開始增長,而且對於相同的查詢,它不再那麼快了30-50秒。

我檢查了sp_who2,沒有阻塞事務。我重建了索引。沒有變化仍然緩慢

解決這種行爲的最佳方法是什麼?如何提高性能?

這是我的任務管理器

enter image description here

+0

哪些進程正在吃掉CPU?如果可用的CPU更少,查詢當然會更慢。 – tjameson

+0

它主要是您可以在屏幕截圖上看到的sql server – MasterMeNow

+0

什麼是從SQL服務器請求數據?當你進行測試時,可能會少一些,現在有更多的活動。 – tjameson

回答

2
  • 在服務器屬性,你可以手動指定你要多少cpu的SQL中使用

enter image description here

  • 確保你有所有的Windows更新,服務包應用
  • 沒有運行數據庫應用程序,只有與SQL Server運行檢查多少內存被使用
  • 最好的辦法是運行SQL事件探查器性能模板 enter image description here
  • 使用數據庫引擎優化顧問看到的建議( http://www.youtube.com/watch?v=gjT8wL92mqE
0

聽起來像它可能是磁盤抖動的問題。確保您的SQL endine配置(最大內存)小於(自由)在您的系統上可用。

它是一個VM嗎?數據庫是否大 - SQL將繼續抓住內存,如果它存在 - 即使其硬盤內存 - 這本質上很慢

3

我嗅探內存壓力問題。頁面緩衝區可能已滿或者某些其他內存約束被點擊。先從監控重要的系統性能計數器,如:

  • CPU負載
  • 頁故障
  • 磁盤R/W隊列
  • 磁盤R/W時間

的那一刻起,你捕捉他們重新啓動機器,然後用Excel或其他圖形工具繪製它。向混合中添加一些SQL計數器。如果您搜索「sql server performance monitor coutners」,那麼在線有很多資源。嘗試這裏提到的性能計數器:http://www.sql-server-performance.com/2007/performance-monitor-general/

觀察時間進度並將其與其他指標和percieved性能關聯起來至關重要。

要尋找的另一件事是計劃重新編譯。檢查Profiler跟蹤中的SP:Recompile事件,看看是否存在與性能下降相關的問題。 - 參考https://support.microsoft.com/en-us/kb/243586

相關問題