INF: Principy Bufwait a zprávy Writelog Timeout

Překlady článku Překlady článku
ID článku: 167711 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Souhrn

Při prověřování errorlog SQL Server může pravidelně zobrazit následující typy zpráv:
bufwait: Časový limit BUF_IO, bp 0xd37ab0, pg 0x5e74e, stat 0x1008/0x400003 obj 0x6d4f8c1b, bpss 0x2069e1f0
Nebo
writelog: Časový limit dbid 2 dbstat2 0x22(0x22) q1 a q2 0/1 vlastníka = 3 waittype = 0x81
Tento článek vysvětluje význam bufwait a writelog časový limit zprávy.

Další informace

SQL Server používá asynchronního I/O volání ReadFile(), ReadFileEx(), WriteFile() a WriteFileEx() při provádění čtení a zápisy. Tyto volání Win32 API žádost I/O na systém Windows NT Server a umožnit aplikaci pokračovat další operace při čekání na dokončení operace. Při dokončení jej signály aplikace dokončení zápisu prostřednictvím služby synchronizace rutina události nebo dokončení.

Bufwait a logwrite zprávy jsou skutečně upozornění a nemusí nutně být znaménko jakékoli potíže s počítači nebo SQL Server. Pokud SQL Server má čekaly déle než počet sekund nakonfigurován časový 'prostředku limit' nastavení (který ve výchozím nastavení je 10 sekund), vytiskne se chybová zpráva označující časový limit. Však ji musí pokračovat v čekání na požadavek I/O Dokončit můžete pokračovat. Zpráva bufwait odpovídá zpoždění v čtení stránky z disku do mezipaměti nebo spotřeby stránky v mezipaměti mimo disku. Zpráva logwrite je specifické pro čtení nebo zápisu záznamů protokolu.

SQL Server používá metody synchronizace normální podproces zaručit objednané přístup k protokolu transakce. Ve zprávě časový limit writelog ID databáze dodávaný v poli dbid, stejně jako IDENTIFIKÁTOR procesu (Vlastník) připojení, na kterém je čekání. Ve zprávě ukázkové byl Všimněte si, že aktuální zpracovat pomocí tempdb (dbid 2) a, čekání na proces kontrolního bodu (vlastníka = 3). Při zkoumání příčin writelog časové limity, může být výhodná shromažďování informací o jaké typy zpracování jsou prováděny podle uvedených v writelog zprávě spid "vlastníka" pravidelně sysprocesses dotazu.

Tučná vrácení aktivity přidá další protokolu a disk I/O konflikty a činností byl zaznamenán jako přispívající časové limity writelog. Pro nejlepší výkon pokus minimalizovat počet transakcí, které musí být jako aktivita zvyšuje serveru pomocí časový limit dotazu, který je příliš krátký může dále exacerbate problém podle příčinou zbytečné vrácení provedených změn vrátit zpět;. Byl přidán začínající SQL Server 6.5 Service Pack 2, nová možnost konfigurace, LogLRU vyrovnávacích pamětí, která může zlepšit výkon v prostředí vyžadující Tučná protokolu čtení, například by být požadována v zpracování vrácení zpět nebo aktivační události. Všimněte si, že použití této možnosti vyhradí místo podržte protokolu stránky v mezipaměti, snížení množství dat mezipaměti k dispozici. Naleznete v souboru Readme.txt zahrnuta v aktualizaci service pack Další informace o určení optimální hodnotu pro tento parametr.

Pokud tyto zprávy se zobrazují pouze nepravidelně, jejich nemusí být indicative žádné potíže. Pokud se zobrazí poměrně pravidelné pravděpodobně bude znaménko, které podsystém disku dosažení kapacity a, které může využít výhod z rozprostření zatížení I/O přes větší počet řadičů nebo disků snížit dobu máte čekat na dokončení operace.

Určit, co načíst podsystém disku zpracování, sledujte čítače disku příslušné systému pomocí sledování výkonu. Sledovat čítače % Čas disku pro LogicalDisk nebo fyzický odpovídají zařízení protokolu a dat; Pokud je hodnota konzistentně vysoké, zvažte způsoby šíření I/O zatížení a vyhledat uvedeno, že podsystém disku je dosažení omezení. Můžete provést další jemné ladění pomocí % času čtení disku a % času disku zapsat čítače, které by umožnilo jemnější ovládacího prvku v rozprostření přes disky a řadiče I/O zatížení. Velké délka fronty disku hodnota označuje velký Nevyřízené položky v žádosti I/O a které chcete prozkoumat, přidání dále disků nebo načíst další řadiče šíření I/O. Další informace o čítačích disku lze najít v dokumentaci k serveru Windows NT, Windows NT Server Resource Kit a následujícím článku databáze Microsoft Knowledge Base:
102020: Jak sledování výkonu disku s sledování výkonu

Zatímco tyto zprávy výsledkem zpoždění v provádění I/O, několik hodnot konfigurace serveru SQL mít přímý vliv na celkovou propustnost I/O systému: max asynchronního I/O; maximální lazywrite I/O; logwrite spánku; a časový limit prostředku.

Hodnota konfigurace 'Maximální asynchronní I/O' Určuje maximální počet nevyřízených asynchronního I/O požadavků, SQL Server umožní, omezení počet čekajících požadavků. Při provedení Asynchronní požadavek I/O WINDOWSNT server musí fronty požadavek, který má přidružené režii. Při asynchronní požadavky I/O může zvýšit výkon při použití odpovídajícím způsobem, omezení může být dosaženo které bodu může dále používat ve skutečnosti begin snížit výkon systému. Tento limit je do značné míry závisí na řadič, ovladače a přidružené diskový podsystém. Pokud obdržíte všechny výše uvedené chyby trvale a toto nastavení změnilo z jeho výchozí hodnotu, zvažte nastavení na výchozí hodnotu.



Parametr 'Maximální lazywrite I/O' úzce souvisí se nastavení 'Maximální asynchronní I/O', ale specificky throttles počet nevyřízených požadavků provedli proces Lazywriter. Proces Lazywriter pokusy o vyprázdnění změněné stránky z mezipaměti na disk, takže v mezipaměti dat je vždy některé volné místo. Částka proces pokusí zachovat volného místa je řízena možnost konfigurace 'volného vyrovnávacích pamětí'.

Nastavení konfigurace 'logwrite spánku' je možnost upřesňující konfigurace, která vynutí záměrného zpoždění před zápisem protokolu stránky na disk. Protože stránky protokolu musí být fyzicky potvrzených před provádění změn dat na disku, obvykle chcete tyto zápisy prováděna jako rychle možnou. Za určitých okolností zvýšit výkon vynucením záměrně zpoždění tak, aby více procesů lze "pack" záznamy protokolu na jedné stránce a tedy snížit počet operací zápisu. Množství času, používá tento záměrného zpoždění se počítá jako část časový limit celkového operace zápisu tak může být časový limit writelog uměle induced zvýšením nastavení konfigurace 'logwrite spánku'. Změny této hodnoty konfigurace by měly být provedeny pouze řízený způsobem zajistit, že výkon není hindered.



Nastavení konfigurace 'prostředku časový limit' řídí celkového časového limitu na asynchronní operace I/O. Ve výchozím nastavení je nastavena na 10 (sekundy), tak jakoukoli operaci, která trvá déle než 10 sekund k dokončení výsledky časový limit upozornění. Nastavení příliš nízké této hodnoty může způsobit časové limity unrealistically krátký čas. Časové limity bufwait nebo writelog jsou často vidět, můžete zvýšit tohoto nastavení snížit frekvenci, se kterou jsou generovány tyto chyby.

Protože SQL Server stresses subsystému I/O tak rozsáhlé, je rovněž důležité ověřit, že používáte s nejnovější verzí na jednotce a firmware řadiče, stejně jako nejnovější ovladač. Také naleznete jakékoli Diagnostika pravděpodobně pro stressing podsystém disku výrobce hardwaru.

Výše uvedené informace nepomůže problém vyřešit, můžete zvážit stressing systému způsobem podobné provedeno serverem SQL. K usnadnění tím, byla zapsána nástroj SQLHDTST. Další informace o umístění, ze které mohou být staženy a nástroj naleznete v následujícím článku databáze Microsoft Knowledge Base:
178444Soubory dostupné nástroje serveru SQL
SQL Server vyžaduje systémy podporují ‘ zaručené doručení stabilní média ’ podle pokynů v části program Microsoft SQL Server Always-On úložiště řešení revize. FODalší informace o požadavcích vstupní a výstupní databázového stroje SQL Server klepněte na následující číslo článku databáze Microsoft Knowledge Base:
967576Microsoft SQL Server Database Engine vstupní a výstupní požadavky

Vlastnosti

ID článku: 167711 - Poslední aktualizace: 21. listopadu 2003 - Revize: 3.1
Informace v tomto článku jsou určeny pro produkt:
  • 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
Klíčová slova: 
kbmt kbenv kbhardware kbinfo KB167711 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:167711
Právní omezení pro obsah znalostní báze týkající se produktů, jejichž podpora byla ukončena
Tento článek byl napsán o produktech, pro které společnost Microsoft již neposkytuje nadále podporu. Článek je tedy nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.

Dejte nám zpětnou vazbu

 

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