Správci databází nosí v zákulisí mnoho klobouků – od plánování kapacity přes zabezpečení až po obnovu dat. Snad nejviditelnější z povinností DBA je monitorování výkonu SQL Serveru. I když každodenní úkoly spojené s udržováním vysoce výkonného systému mohou zůstat bez povšimnutí okolního světa, raději věřte, že lidé začnou věnovat pozornost, když je výkon nižší než ideální.
Výpadky databáze, pomalá doba odezvy a další problémy, kterým čelí uživatelé, jsou pro podnikání špatné. A protože výkon SQL Serveru (nebo jeho nedostatek) přímo klesá v doméně DBA, špatně fungující databáze jsou špatné pro zabezpečení vaší práce.
Pomineme-li hrozbu nezaměstnanosti, zajištění špičkového výkonu SQL Serveru je zásadní pro schopnost vaší organizace fungovat hladce, proto jsme sestavili pět triků, které musí správci databází znát, aby optimalizovali výkon SQL Serveru.
Automatizace rutinních úloh a údržby
V dnešní době je jen málo důvodů, aby DBA prováděl mnoho každodenních úkolů a kontrol údržby ručně. Dnešní nástroje pro sledování výkonu SQL Serveru mohou automaticky monitorovat místo na disku, kontrolovat protokoly chyb a ověřovat zálohy. Můžete dokonce nastavit systémová upozornění, která vás nejen upozorní na problém, ale také poskytnou informace o závažnosti a typu problému.
Jednou z hlavních výhod těchto monitorovacích nástrojů je, že mnoho funkcí sledování výkonu je přístupných prostřednictvím vašeho mobilního zařízení, takže řešení problémů je mnohem flexibilnější. Svůj systém můžete sledovat a třídit prakticky odkudkoli a kdykoli.
Sledování metrik výkonu
Samozřejmě je důležité, aby vaše nástroje pro sledování výkonu SQL Server zachytily a opravily aktuální problémy, ale také má velkou hodnotu sledovat minulý výkon. Sledování a analýza výkonu databáze v průběhu času vám pomůže identifikovat trendy a předvídat budoucí problémy s výkonem. Sledování historie výkonu poskytuje údaje o tom, zda je výkon lepší nebo horší za dané časové období.
Analýza zátěže je další způsob, jak získat metriky výkonu, které vám pomohou zlepšit výkon SQL Server. Spusťte analýzu, abyste zjistili, jak uživatel, databáze, hostitel nebo příkaz SQL ovlivňují vaši pracovní zátěž. Pokud izolujete zdroj, který má negativní dopad na systém, bude mnohem snazší podniknout příslušné kroky k vyřešení problému.
Identifikujte hlavní příčinu úzkých míst
Jak je uvedeno výše, jakmile izolujete zdroj úzkého hrdla nebo zabijáka výkonu, je mnohem snazší problém napravit. Mezi běžné zdroje překážek a symptomů, na které je třeba si dávat pozor, patří:
- Problémy s CPU:SQL Server zatěžuje procesor
- Problémy s pamětí:Delší doba provádění dotazů
- Problémy s úložištěm:Extrémní aktivita na discích a dlouhé čekací doby na I/O
- Problémy s I/O:Čekací doba WRITELOG je v porovnání s celkovou dobou čekání vysoká
Jakmile identifikujete své úzké místo, můžete vyzkoušet několik oprav, které často řeší běžné problémy s výkonem, včetně:
- Ladění serveru SQL:Izolujte konkrétní dotaz, který byl zpožděn, konkrétní dobu čekání, která zpoždění způsobila, a časový dopad úzkého hrdla
- Zbavte se zastaralých a duplicitních indexů:Zrychluje dotazy, protože optimalizátor nemusí při analýze výkonu dotazů a určování plánu brát v úvahu více indexů.
- Oprava fragmentace:Pravidelné přestavování nebo defragmentace indexů zlepší výkon snížením počtu roztroušených nebo částečně vyplněných datových stránek, které musí SQL Server číst.
Spusťte rutinní kontroly stavu výkonu
Prevence je téměř vždy lepší než léčba. Použijte kontroly stavu k identifikaci skutečných a potenciálních problémů v systému. Kontroly stavu vám pomohou určit problémy se zabezpečením, obnovou po havárii, pamětí, I/O a konfigurací dříve, než způsobí velké problémy s výkonem.
Pravidelné zdravotní kontroly by měly zahrnovat:
- Kontrola chybějících indexů:Chybějící indexy zpomalují reakci SQL Serveru, protože musí hledat data v každém záznamu. Nebuďte však příliš rychlí s přidáváním chybějících indexů; přidávání nepotřebných indexů může také negativně ovlivnit výkon.
- Sledování nepřiměřených úrovní ad hoc dotazů:Občasné použití ad hoc dotazů není problém. Ale když se používají příliš často, výkon trpí. SQL Server tyto příkazy znovu nepoužívá, takže mezipaměť procedur se nafoukne, což způsobí, že mezipaměť vyrovnávací paměti vyprázdní data. SQL Server pak musí číst data z disku (pomalu) namísto z paměti.
- Hledání neaktuálních statistik:Optimalizátor dotazů SQL Server používá statistiky k výpočtu odhadovaných nákladů na operace. Zastaralé statistiky mohou způsobit, že optimalizátor dotazů vybere neoptimální plán provádění.
Upgradujte na nejnovější verzi SQL Server
To se zdá být samozřejmé, ale pokud jste to ještě neudělali, upgradujte na nejnovější verzi SQL Server. SQL Server 2000, 2005 a 2008 již nejsou aktivně vyvíjeny a novější verze mají spoustu funkcí, které rozhodně zvýší výkon. Tyto funkce zahrnují nejnovější verzi optimalizátoru dotazů SQL Server, nové instrukční sady CPU a samozřejmě opravy chyb.