Existuje mnoho faktorů, které ovlivňují výkon databáze. Znalost běžných výkyvů vaší konkrétní instance díky sledování vašeho SQL serveru vám pomůže identifikovat, kdy se chování vymyká kontrole, a předvídat problémy dříve, než nastanou.
Pomůže vám také rozlišit, co jsou přirozené růstové bolesti způsobené zvýšenou pracovní zátěží nebo sezónními výkyvy, které mohou vyžadovat více zdrojů, a hlubšími problémy s výkonem, které vyžadují ladění kódu, optimalizaci indexu nebo ladění konfigurace.
Jakmile vytvoříte seznam serverů SQL ve vašem prostředí, budete chtít položit několik zásadních otázek:
- Jak zdravý je tento případ?
- Kdy bylo naposledy zálohováno?
- Má dostatek CPU, paměti a úložiště, aby splnila svou smlouvu SLA?
- Jaké typy úloh se spouštějí v této instanci?
- Jaké aplikace a uživatelé používají tuto instanci?
- Kdy je pracovní vytížení nejvíce vytížené?
- Je zavedena strategie převzetí služeb při selhání?
- Jde o kritický případ?
- Musí být k dispozici 24/7?
- Jaké problémy s výkonem tato instance má?
Mohou se zdát jako samozřejmé otázky, ale pokud poprvé začnete monitorovat zátěž svého SQL serveru, budete překvapeni a možná i trochu zděšeni, když uvidíte, kolik z nich má zásadní problémy.
Nastavte výkonnostní cíle pro monitorování SQL Server
Přemýšlejte o tom, čeho chcete pomocí monitorování SQL serveru dosáhnout, a upřednostněte tyto cíle. Uspořádáním vašich aktivit do klíčových ukazatelů výkonu vám usnadníte vyjádření hodnoty energie a jakýchkoli požadovaných investic. Následující seznam vám pomůže začít.
Vysoká dostupnost
Jaké jsou vaše statistiky dostupnosti? Pamatujte, že nedostupnost pro uživatele je, když nemá přístup ke službě. To může být způsobeno úplným výpadkem nebo úzkým hrdlem výkonu, kvůli kterému je služba skutečně nedostupná. Máte nastavenou vždy zapnutou konfiguraci? Pokud ano, znáte jeho stav?
Doba odezvy
Od okamžiku, kdy je problém nahlášen, jak rychle můžete izolovat zdroj, diagnostikovat příznaky a reagovat na ty, kterých se to týká?
Doba rozlišení
Jak rychle můžete vyřešit příznak, abyste obnovili normální provoz? Řešení „lepkavé omítky“ je důležitým začátkem, ale nemělo by představovat konec celé záležitosti. Prozkoumali jste hlavní příčinu problému? Můžete si být jisti, že už se to nebude opakovat?
Porozumění nákladům na vlastnictví vašich instancí SQL Server
Náklady na vlastnictví jsou kritickým faktorem při rozhodování, kde by měly být umístěny instance vašeho SQL serveru. Je důležité odhadnout počáteční investiční náklady spojené s infrastrukturou a licencemi, náklady na průběžnou údržbu a veškeré náklady na spotřebu, které jsou spojeny s cloudovou zátěží.
Pokud se snažíte rozhodnout, kolik bude vaše instance stát v cloudu, mezi kritické metriky patří využití procesoru, aktivita čtení a zápisu a úložiště. Budete je muset měřit po delší dobu, abyste zjistili hranice své pracovní zátěže, abyste měli jistotu, že máte zdroje pro spektrum zátěže, kterou očekáváte pro konkrétní instanci.
Seznámení se s konkrétními charakteristikami pracovních zátěží běžících na vašich instancích SQL serveru vám poskytne mnohem lepší místo, abyste se ujistili, že vše běží tak, jak má, a aby vyhovovalo současným i budoucím potřebám vašeho podnikání.
Studujte výkon v průběhu času pomocí SQL Server Monitoring
Databáze jsou fluidní systémy. Jen velmi málo lidí má stálou, opakující se a předvídatelnou pracovní zátěž. Je mnohem běžnější vidět velké odchylky v průběhu času, které kolísají podle počtu uživatelů, automatizovaných úloh, počtu transakcí, objemu dat atd.
Prodejní databáze bude na konci měsíce zaneprázdněna. Zaznamená také prudký nárůst aktivity kolem sezónních akcí nebo díky marketingovým akcím.
Klasifikace výkonu na základě malých snímků není dobrá zásada. Čím více historie můžete shromáždit a analyzovat, tím více informací můžete získat o variacích a hranicích jednotlivých charakteristik vaší pracovní zátěže.
Budete muset posoudit, kolik historie je praktické uchovávat a zda máte prostředky na její zpracování. Je třeba zvážit dopady na náklady a výkon.
Získejte úplný obrázek pro monitorování databáze
Každá databáze je komplexní systém s mnoha pohyblivými částmi. Na jeho výkon může mít vliv mnoho konfiguračních kritérií.
Návrh a architektura databáze samotné ovlivní výsledky. Efektivita kódu může také snížit nebo snížit výkon. Možnosti konfigurace určí, jak instance serveru SQL spotřebovává zdroje, které má k dispozici.
Zvažte následující scénář:Instance se zpomaluje až zastavuje a DBA zaznamená špičku v čekání CXPACKET nebo CXCONSUMER. Prudkou reakcí je vypnutí paralelismu. Čekání zmizí a současné úzké místo je dočasně uvolněno. Nyní celá instance běží pomaleji, ale DBA nechce znovu povolit paralelismus. Pokud by se provedlo další vyšetřování, ukázalo by se, že dotaz probíhal obzvlášť pomalu a příčinou byl chybějící index.
Souběžné sledování mnoha různých metrik pomáhá přesně identifikovat hlavní příčinu a vyhnout se drahým chybným diagnózám, které mohou způsobit opakování nebo dokonce eskalaci stejného problému.