我試圖在我們的應用程序中排查一些間歇性減速問題。我有一個單獨的問題here與更多的細節。sp_who2中「Suspended」狀態和高DiskIO的含義是什麼?
我運行了sp_who2並且我注意到一些狀態爲SUSPENDED和高DiskIO的連接。有人可以向我解釋那是什麼意思嗎?
我試圖在我們的應用程序中排查一些間歇性減速問題。我有一個單獨的問題here與更多的細節。sp_who2中「Suspended」狀態和高DiskIO的含義是什麼?
我運行了sp_who2並且我注意到一些狀態爲SUSPENDED和高DiskIO的連接。有人可以向我解釋那是什麼意思嗎?
這是一個很廣泛的問題,所以我打算給一個廣闊的答案。
這就是我從上面的截圖中可以看出的全部內容。但是,如果我想推測,你可能有一個IO子系統太慢而無法跟上需求。這可能是由於缺少索引或實際太慢的磁盤造成的。請記住,單個OLTP查詢的15000次讀取稍高,但並不罕見。
如果原因是鎖定,那麼不應該顯示在「BlkBy」或「blocking_session_id」中? – 2014-04-14 21:44:27
正確,@JonofAllTrades。如果進程A試圖訪問被進程B鎖定的資源,則B的會話ID將顯示在A的blocking_process_id列中。 –
暫停。 會話正在等待事件(如I/O)完成。
這意味着數據庫所在的磁盤正在被大量使用(數據庫自身或服務器上的其他軟件),數據庫不得不排隊輪流訪問驅動器。 –
這就是我要找的。這些數字是否被認爲是高I/O? – NullReference
正如我在回答中所說的那樣,這個解釋實際上是猜測,因爲你的屏幕截圖不能揭示查詢實際上正在等待什麼。對於OLTP查詢,15K讀取稍高但不超出範圍。 –
另請參見[如何找出spid狀態爲什麼被暫停的原因? Spid等待什麼資源?](http://stackoverflow.com/questions/22038695/how-to-find-out-why-the-status-of-a-spid-is-suspended-what-resources- the-spid-i) – Vadzim