2010-06-08 73 views
5

我被要求監視SQL Server(2005 & 2008),並且想知道哪些指標可以衡量?我可以訪問WMI計數器,但稍微失去了多少深度會有用。要在SQL Server上監視什麼

目前,我有我的名單上:

  • 用戶連接每秒
  • 閂鎖等待每秒
  • 總閂鎖等待時間
  • 登錄每秒
  • 錯誤
  • 死鎖每秒
  • 日誌和數據文件大小

我期望能夠監視值,這些值將指示機器性能下降或潛在的嚴重問題。爲此,我也想知道,這些東西中的一些會被認爲是正常的還是有問題的?

正如我認爲它很可能是一個很好的問題已經回答了廣大社區我想我會打官司一些你的DBA專家那裏(我肯定不是其中之一!)

道歉如果是一個相當開放的問題。 RY

+0

這一切都歸結到你需要這種監控的內容。 – 2010-06-08 14:01:53

+2

這篇文章有點老了,但可能有一些很好的建議http://www.sql-server-performance.com/articles/per/10_baselining_tips_p1.aspx – 2010-06-08 14:06:16

+0

一個箱子遇到麻煩的跡象是我所追求的。意識到這非常含糊,但理想情況下,我想將受監視項目組織成3個類別,分別爲'FYI','Warning'和'Critical' – rjshuttleworth 2010-06-08 14:07:31

回答

1

使用SQL事件探查器,以確定您的前10名(或更多)查詢。爲這些查詢創建基準性能。查看當前平均執行時間與基準的比較,並在基線以上顯着提醒。您也可以使用此列表來確定可能的優化查詢。

這個問題的攻擊水平高於查看詳細統計數據的水平,儘管這些統計數據也可能有用。我發現這種方法適用於任何DBMS,包括MySQL和Oracle。如果您的頂級查詢時間開始增加,您可以打賭您已經開始遇到性能問題,您可以開始深入瞭解性能問題。

1

預算允許,值得看一些第三方工具來幫助。我們使用Idera's SQL Diagnostic Manager來監視服務器運行狀況,並使用Confio's Ignite來關注查詢性能。這兩款產品在我們的商店中都很好。

1

CPU利用率和平均磁盤隊列長度也很標準。持續超過80%的CPU表明您可能需要更多或更好的CPU(以及用於存放它們的服務器);在任何磁盤隊列上始終超過2表示在該驅動器上存在磁盤I/O瓶頸。

0

您應該監視分配給特定進程的總頁數。您可以從查詢sys數據庫中獲取該信息。

sys.dm_exec_sessions s 
    LEFT JOIN sys.dm_exec_connections c 
     ON s.session_id = c.session_id 
    LEFT JOIN sys.dm_db_task_space_usage tsu 
     ON tsu.session_id = s.session_id 
    LEFT JOIN sys.dm_os_tasks t 
     ON t.session_id = tsu.session_id 
     AND t.request_id = tsu.request_id 
    LEFT JOIN sys.dm_exec_requests r 
     ON r.session_id = tsu.session_id 
     AND r.request_id = tsu.request_id 
    OUTER APPLY sys.dm_exec_sql_text(r.sql_handle) TSQL 

下面的文章解釋真的很好,你可以用它來監視你的服務器時,沒有工作 http://tsqltips.blogspot.com/2012/06/monitor-current-sql-server-processes.html

+0

我們還使用Quest數據庫性能分析,提供非常好的視覺圖片在服務器上。其中一件壞事是它告訴誰是受害者,但很難弄清誰在消耗資源。 – dhi 2012-06-18 21:59:21

0

除了上述建議的性能指標,我強烈建議監視可用內存,批請求/秒, SQL編譯/秒和SQL重新編譯/秒。所有可在sys.dm_os_performance_counters視圖和Windows Performance Monitor

至於

理想,我想被監控項目組織分爲3類,說「FYI」,「警告」 &「嚴重」

有許多第三方監控工具使您能夠創建不同嚴重性級別的警報,因此,一旦確定要監視的內容以及針對您的環境推薦的值,可以設置低,中和高警報。

檢查布倫特奧扎爾的文章沒有那麼有用的指標here

5

晚的答案,但感興趣的可以到其它讀者

我的一個同事有類似的問題,並用此線程幫助讓他開始。 他還遇到了一篇博客文章,描述了性能問題的常見原因,並且指出了應該監控哪些指標,除了這裏已經提到的指標之外。這些其他的指標是:

•%磁盤時間:

此計數器顯示磁盤問題,但必須與當前磁盤隊列長度計數器一起觀察到真正的信息。還要回顧一下,在磁盤時間百分比達到100%之前,磁盤可能是瓶頸。

•%磁盤讀取時間和%磁盤寫入時間:

%磁盤讀取時間和%磁盤寫入時間指標分別類似於%磁盤時間,只是顯示的操作讀取或寫入磁盤, 。它們實際上是以百分比表示的平均磁盤讀取隊列長度和平均磁盤寫入隊列長度值。

•%空閒時間:時間

的措施的比例磁盤是採樣間隔期間的空閒。如果此計數器低於20%,則磁盤系統已飽和。您可以考慮用更快的磁盤系統替換當前的磁盤系統。

•%的可用空間:

措施的選擇邏輯磁盤驅動器上的可用空間的百分比。請注意,如果這降低到15%以下,您可能會用盡操作系統存儲重要文件的空間。一個明顯的解決方案是添加更多的磁盤空間。

如果你想閱讀整個後,您可以在這裏找到: http://www.sqlshack.com/sql-server-disk-performance-metrics-part-2-important-disk-performance-measures/