INF: 瞭解 bufwait 和 writelog 逾時訊息

文章翻譯 文章翻譯
文章編號: 167711 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

結論

檢查 SQL Server 錯誤記錄檔時, 可能會定期看到下列類型的訊息:
bufwait: 等候逾時 BUF_IO,bp 0xd37ab0,pg 0x5e74e,stat 0x1008/0x400003,obj 0x6d4f8c1b,bpss 0x2069e1f0
-或者-
writelog: 等候逾時 dbid 2 dbstat2 0x22(0x22) q1/q2 0/1 擁有者 = 3 waittype = 0x81
本文說明 bufwait 和 writelog 逾時訊息的意義。

其他相關資訊

SQL Server 執行讀取時會使用非同步 I/O 呼叫 ReadFile(),ReadFileEx()、 WriteFile() 和 WriteFileEx(),並將寫入。這些 Win32 API 呼叫送出 Windows NT Server 有 I/O 要求,然後再讓應用程式等待作業完成時繼續進行其他作業。完成時,會信號應用程式寫入已完成透過同步處理事件或完成常式的方式。

bufwait 和 logwrite 訊息了實際上警告,因此可能不一定是電腦或 SQL Server 任何問題的徵兆。如果 SQL Server 已等待時間超過 '資源逾' 設定中設定的秒數 (即根據預設值 10 秒),就會列印錯誤訊息,表示在逾時。但是,它必須繼續等候的 I/O 要求完成才能繼續進行。bufwait 訊息對應於從磁碟將放入快取,讀取網頁或出快取中的一個頁面排清到磁碟中有延遲。logwrite 訊息是特定的讀取或寫入記錄檔資料錄。

SQL Server 會使用正常的執行緒同步處理方法,來保證交易記錄檔已排序的存取。在 writelog 逾時訊息中資料庫識別碼是 dbid] 欄位,以及它正在等待其他連線的處理程序識別碼 (擁有者) 中提供。在範例訊息上述,請注意,目前的處理使用 tempdb (dbid 2),且它正在等待檢查點處理序 (擁有者 = 3)。當調查原因 writelog 逾時,可能會很有幫助定期查詢 sysprocesses 來收集何種類型的處理由 writelog 訊息中列出"董事長"spid 的相關資訊。

重裝復原活動新增額外的記錄檔及磁碟 I/O 爭用,並為 writelog 逾時來作為觀察到這類活動。為獲得最佳效能嘗試必須復原 ; 如上使用太短的查詢逾時,伺服器會增加的活動可能會進一步 exacerbate 問題所造成不必要的復原的交易數目減至最少。開頭是 SQL Server 6.5 Service Pack 2,新的組態選項、 LogLRU 緩衝區已加入,或許可以改善效能要求會在處理復原或觸發程序需要的例如的沈重的記錄檔讀取的環境中。注意使用此選項會保留空間,以在快取中, 保留記錄檔分頁減少可用的資料快取。請參閱包含在 Service Pack,如需判斷這個參數的值是最佳的相關資訊的 Readme.txt 檔案。

如果這些訊息只間歇地出現,它們可能不是表示的任何問題。不過,出現在相當定期,它可能是時間的的徵兆磁碟子系統到達容量,且可能受益分配 I/O 負載較大的數字的控制器或要減少您必須等待作業完成長度的磁碟上。

決定什麼載入磁碟子系統會處理,您可以使用效能監視器來觀賞您的系統適當磁碟計數器。 監視 %磁碟時間計數器 LogicalDisk 及/或平均,對應到記錄檔和資料裝置 ; 如果其值為一致地高考慮散佈 I/O 的負載,並尋找指示磁碟子系統已到達其限制的方法。您可以執行其他細微調整藉由使用 %磁碟讀取時間和 %磁碟寫入時間計數器會允許更細微控制在 I/O 負載分散的磁碟與控制器。大型磁碟佇列長度值表示在 I/O 要求的大型積存和您可能想要調查新增其他磁碟或額外的控制站散佈 I/O 載入。您可以在 Windows NT 伺服器文件、 Windows NT 伺服器資源套件和 「 Microsoft 知識庫 」 中下列文中找到磁碟計數器的額外資訊:
102020: 如何使用效能監視器監視磁碟效能

雖然這些訊息會因執行 I/O 的延遲,數個 SQL Server 設定值對直接影響系統的整體的 I/O 輸送量: 最大非同步 I/O ; 最大 lazywrite I/O ; logwrite 睡眠 ; 以及資源逾時。

'最大非同步 I/O' 設定值決定未完成的非同步 I/O 的數目上限要求可讓 SQL Server,節流擱置要求的數目。Windows NT Server 進行非同步 I/O 要求時必須佇列要求有一個相關聯的額外負荷。雖然非同步 I/O 要求可以增加效能正確使用,就可以此時進一步使用可能實際上開始降低系統效能會達到限制。此限制主要是依據控制器、 驅動程式和相關聯的磁碟子系統而定。如果您持續收到任何上述的錯誤,並已從其預設值變更此設定,請考慮設定為其預設值。



'最大 lazywrite I/O' 參數與 '最大非同步 I/O'] 設定密切相關,但特別 throttles 延遲寫入器處理序所做的未完成要求的數目。延遲寫入器處理序會嘗試清除從快取到磁碟已變更的網頁,因此一定會有一些可用的空間資料快取中。處理程序嘗試保持可用的空間大小是由 '可用緩衝區' 組態選項所控制。

'logwrite 睡眠' 組態設定是會故意延遲強制記錄檔分頁寫入磁碟之前的一個進階的組態選項。 因為記錄檔分頁必須實際交付到磁碟做資料修改之前,您通常會想要儘快執行這些寫入。在某些情況下,您可以藉由刻意強迫延遲,這樣多個處理程序可以記錄檔資料錄 「 打包 」 在單一頁面上,並因此減少寫入作業的數目增強效能。 用於此有意延遲的時間量計算為逾時期間整體的寫入作業的一部份因此 writelog 逾時可能會手動導致藉由增加 'logwrite 睡眠' 組態設定。這個設定值的變更只應該以受控制的方式以確保不妨礙效能進行。



'資源逾時' 的組態設定控制非同步 I/O 作業在整體逾時。預設情況下,設定是設為 10 (秒),因此的時間超過 10 秒鐘才能完成逾時警告會產生任何作業。將此值設定太低可能會造成逾時不實際短的時間。如果您經常看到 bufwait 或 writelog 逾時,您可以增加此設定來降低這些錯誤產生的頻率。

因為 SQL Server 強調 I/O 子系統所以廣泛地,也很重要確認您執行最新版的磁碟機和控制器韌體,以及最新的驅動程式。如它們可能會有的加強磁碟子系統任何診斷,也請參閱硬體製造商。

如果上述資訊沒有幫助解決問題,您可能要考慮加強系統的方式類似於 SQL Server 所完成之。為協助您執行此動作,已寫入呼叫 SQLHDTST 一個公用程式。如需有關公用程式,然後從它下載的位置的詳細資訊,請參閱下列的 「 Microsoft 知識庫 」 中的文件:
178444可用的 SQL Server 公用程式檔案
SQL Server 會要求系統,以支援 ‘ 保證傳遞穩定媒體 ’ Microsoft SQL Server Always-On 存放裝置方案檢閱程式] 下所述。 Fo如 SQL Server 資料庫引擎的輸入與輸出需求的更多有關,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
967576Microsoft SQL Server 資料庫引擎的輸入/輸出需求

屬性

文章編號: 167711 - 上次校閱: 2003年11月21日 - 版次: 3.1
這篇文章中的資訊適用於:
  • Microsoft SQL Server 6.0 Standard Edition
  • Microsoft SQL Server 6.5 Standard Edition
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Standard
關鍵字:?
kbmt kbenv kbhardware kbinfo KB167711 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:167711
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。
依現狀不再更新的知識庫內容免責聲明
本文旨在說明 Microsoft 不再提供支援的產品。因此,本文係依「現狀」提供,不會再更新。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com