sql >> Databáze >  >> RDS >> Sqlserver

Zde jsou tři důvody, proč můžete ve své instanci SQL zaznamenat špičkovou aktivitu

Udržování vysoce výkonných instancí SQL Serveru je obrovskou součástí pracovních povinností DBA. Pokud nezjistíte a nenapravíte neobvyklou aktivitu, může to ovlivnit interní operace a také poškodit hospodářský výsledek.

Pokud si všimnete špičkových změn aktivity nebo anomálií v instanci SQL Server, zde jsou tři místa, kde můžete začít hledat odpovědi.

Předpokládaná životnost stránky

Očekávaná životnost stránky instance (PLE) by měla udržovat poměrně konzistentní rozsah hodnot. Pokud tato hodnota klesne a zůstane nízká, je to známkou toho, že fond vyrovnávacích pamětí zažívá zvýšenou poptávku.

Než dojde a naplníte paměť, podívejte se na aktivitu zátěže. Pokud by se zátěž zvýšila, znamenalo by to další tlak na fond vyrovnávacích pamětí. Pokud se však pracovní zátěž nezměnila, budete se muset blíže podívat, abyste zjistili, co využívá další paměť.

Mezi možné důvody poklesu PLE patří aktivní spouštění úloh údržby, přestavby indexu nebo aktualizace statistik, operace DBCC a změny plánu dotazů.

Pokud zaznamenáte pokles PLE, který není spojen se zvýšením pracovní zátěže, existuje několik věcí, které můžete zkusit zlepšit PLE instance:

  • Zrušte nepoužívané indexy
  • Sloučit duplicitní indexy
  • Sledujte velké dotazy
  • Defragmentovat
  • Vymazat data

WRITELOG Čekací doba

Když je čekací doba WRITELOG příliš velká jako podíl celkové čekací doby, máte pravděpodobně úzké místo na instanci SQL Serveru. Úzké místo je pravděpodobně způsobeno buď problémem na disku, kde je uložen transakční protokol, nebo neefektivním zpracováním dat.

Chcete-li zjistit, s jakým úzkým hrdlem se potýkáte, začněte analýzou počtu příkazů SQL čekajících na událost WRITELOG. Pokud čeká hodně výpisů, máte úzké místo na disku. Pokud čeká jen několik příkazů, data jsou pravděpodobně odesílána příliš často.

Existuje několik způsobů, jak vyřešit vysokou čekací dobu WRITELOG, jakmile zjistíte, zda vaše úzké místo souvisí s diskem nebo s potvrzením:

  • Přidejte šířku pásma I/O na disk, kde je uložen protokol transakcí
  • Přesuňte I/O netransakčního protokolu z disku
  • Přesuňte protokol transakcí na méně vytížený disk
  • Zmenšete velikost protokolu transakcí
  • Ujistěte se, že je v kódu umístěn příkaz COMMIT, aby se data neodesílala příliš často

TempDB

TempDB je dočasný pracovní prostor na serveru SQL Server, který obsahuje dočasné objekty. Protože objekty uchovávané v TempDB jsou přechodné, instance serveru SQL Server znovu vytvoří TempDB při každém restartování. Díky tomu je optimalizace TempDB zásadní pro udržení výkonu a zamezení provozních úzkých míst.

Tvrzení TempDB je jedním z hlavních viníků snižování výkonu. Ke sporu dochází, když více zdrojů potřebuje přístup k TempDB, ale existuje pouze jeden datový soubor TempDB. To způsobuje úzké hrdlo, protože procesy nemohou přistupovat k TempDB dostatečně rychle, což vede k vypršení časového limitu připojení a uvolnění procesů.

Naštěstí lze problémová místa TempDB poměrně snadno vyřešit úpravou počtu a velikosti souborů TempDB. Při instalaci je výchozím nastavením serveru SQL jeden datový soubor TempDB. Pokud si všimnete, že dochází ke sporům, doporučuje se přidat osm nových datových souborů a určit, zda se tím problém vyřeší. Pokud se problém nevyřeší, zkuste přidat další datové soubory v násobcích čtyř, dokud se výkon neobnoví.

I když je skvělé vědět, kde začít hledat, když narazíte na problémy s výkonem, každý z výše uvedených problémů a výsledná úzká hrdla lze zmírnit nebo se jim zcela vyhnout implementací jednoho pevného a rychlého pravidla:Monitorování metrik výkonu není volitelné. Zde je několik příkladů klíčových metrik ke sledování:

Očekávaná životnost stránky:Sledujte PLE pomocí nepřetržitého monitorování a buďte proaktivní, když klesne a zůstane pod typickou hodnotou pro konkrétní instanci SQL Server.

WRITELOG čekací doby:Monitorujte metriky, jako je nárůst logu, úbytek logu, procento využití logu a čekací doby pro vyprázdnění logu/s.

Neefektivita TempDB:Monitorujte, co je přidělováno uživatelským objektům, úložišti verzí nebo interním objektům. Sledujte jejich trendy v průběhu času a poté určete, jaké relace spotřebovávají TempDB a jak moc.

Na trhu existuje několik vynikajících a cenově dostupných nástrojů pro sledování výkonu SQL Serveru s bohatými funkcemi, které vám mohou pomoci čelit problémům snižujícím výkon. Udělejte ze sebe DBA MVP společnosti proaktivním výzkumem řešení, která udržují jak vnitřní operace, tak i obchodní služby směřující směrem ven běží na maximální výkon.


  1. Vytvoření nastavení replikace PostgreSQL na Debian / Ubuntu

  2. provádění operací souvisejících s datem v PHP

  3. ERROR 1396 (HY000):Operace CREATE USER selhala pro 'jack'@'localhost'

  4. Příčiny chyby MySQL 2014 Nelze provádět dotazy, když jsou aktivní jiné dotazy bez vyrovnávací paměti