Miroslav Holec
Premium

Azure SQL tuning a diagnostika

Miroslav Holec   14. září 2016  update 14. září 2016

Tento článek byl napsán v roce 2016. Vývojářské technologie se neustále inovují a článek již nemusí popisovat aktuální stav technologie, ideální řešení a můj současný pohled na dané téma.

Služby v prostředí Microsoft Azure poskytují mnoho zajímavých funkcí, se kterými se v konkurenčním prostředí nesetkáme, nebo pro jejich získání musíme vynaložit velké úsilí. Příkladem budiž řada optimalizačních a diagnostických služeb v rámci Azure SQL, které vám představím.

Sledujeme zdraví SQL databáze

Azure SQL je stejně jako řada jiných služeb v rámci resource manageru neustále monitorována a vyhodnocována jako (ne)zdravá. Signály o stavu přitom emituje resource nebo monitorovaná služba (ne však služby jiného typu). Přehled včetně podrobné historie lze nalézt v sekci Resource health.

Upozornění

Pokud se chcete vyhnout nepříjemným překvapením v podobě nedostatku prostoru nebo systémových prostředků, lze nastavit vlastní upozornění na libovolné události. Pro každou událost je možné nechat si poslat email nebo použít webhook a zkontaktovat libovolnou vlastní službu na internetu.

Alerts

Performance tools

S využitím strojového učení umí Azure SQL sledovat databázové dotazy, jejich výkonnost a následně navrhovat úpravy ve formě tvorby indexů. Ve zcela automatizovaném režimu (Auto-tuning) dokáže Azure SQL:

  • diagnostikovat a nalézt potenciálně chybějící indexy,
  • vytvořit nové indexy na databází (téměř v reálném čase),
  • vyhodnotit efektivitu vytvořených indexů,
  • odstranit vytvořené indexy, které neměly pozitivní impact na výkonnost

Performance overview

V praxi tak umí Azure SQL kontinuálně provádět nad databází optimalizace zcela bez zásahu vývojáře. Jednotlivé návrhy na úpravy (Recommendations) je přitom možné historicky procházet (včetně těch, které byly automaticky vráceny zpět).

Query Performance Insight

Pomocí vizuálního nástroje QPI lze sledovat dotazy s největším impactem na CPU, počtem spuštění nebo dobou trvání. Data lze přitom agregovat (sum/max/avg) nad zvolenou časovou periodou (6 hodin až 1 měsíc). Vybrané dotazy s přiděleným Query ID je možné dále analyzovat a zjistit například jejich chování v čase.

Query performance insight

Geo-Replikace

Přistupují k Vaší aplikaci uživatelé z různých regionů v rámci celého světa? Azure sleduje veškerý provoz a na základě přístupů k databázovému serveru umí navrhnout aktivaci Geo-Replikace pro vybrané regiony.

Geo-Replikace

Auditing

Chcete mít dokonalý přehled o tom, jaké změny se dějí ve vybrané databázi? Funkce auditing tyto informace automaticky sesbírá a následně uloží do blob storage nebo table storage. S využitím Azure Storage Exploreru lze data poté velmi snadno exportovat do formátu CSV a dále je zpracovávat. Funkci auditing je možné aktivovat i nad celým SQL serverem (čili pro všechny databáze současně).

Auditing

Znáte další zajímavé funkce v Azure SQL? Podělte se o ně v diskusi!