Windows-Server-2008-R2

對可能由文件系統驅動程序引起的 I/O 延遲進行故障排除

  • March 21, 2013

我有一個 SQL Server 實例(SQL Server 2008 R2、Windows 2008 R2),它在大約 15-20 秒的非常短的隨機時間段內抱怨它的一些 I/O 請求花費的時間超過 15 秒。(“SQL Server 遇到了 x 次 I/O 請求,在文件 x 上完成的時間超過 15 秒”)有問題的磁碟是 SAN 的一部分。通常,在這種情況下,通常會看到磁碟上的 IOPS 或吞吐量需求達到峰值,從而產生延遲,並表明可能需要增強 LUN 以滿足伺服器的需求。然而,在這種情況下,沒有這樣的尖峰——相反,根據 perfmon 的說法,受影響磁碟上的活動從穩定狀態變為幾乎沒有,並且延遲實際上改善了很多。(而且,我應該補充一點,我們’ 我在 SQL Server 端搜尋任何突然爆發的活動的證據,但無濟於事。工作負載的性質使得伺服器活動不可能突然下降。)在緩慢的 I/O 事件之後會出現短暫的補償性峰值,因為請求會在中斷後趕上。

SAN 人用細齒梳理了一切(包括主機的配置),並宣稱從他們的角度來看沒有任何問題。碰巧我們在這台伺服器上使用了防病毒軟體(帶有適當的文件排除)和一個像文件系統驅動程序一樣執行的加密解決方案,所以我自然懷疑這兩者中的一個或兩個可能是問題的根源. 但是,當我召集所有人進入客廳揭露兇手時,我希望能夠拿出確鑿證據。除了諮詢供應商(我們自然會這樣做)之外,對於解決可能由應用程序攔截文件系統請求引起的間歇性延遲問題有什麼建議嗎?也許有任何工具或技術可以準確地顯示出是什麼讓事情變慢了?一世’ 恐怕關閉 AV 或加密以查看會發生什麼是行不通的。只是為了使事情複雜化,到目前為止,這個問題還不能按需重現。

這是另一個連結炸彈並執行http://support.microsoft.com/kb/978000>和<http://blogs.msdn.com/b/ntdebugging/archive/2010/04/22/etw-storport.aspx

這些將使您更深入地了解它是過濾器驅動程序問題還是 san 問題。

引用自:https://serverfault.com/questions/489829