Azure SQL tuning a diagnostika

Miroslav Holec

Miroslav Holec

Publikován 14. září 2016 | Azure

Tento článek je starší 18 měsíců a je proto možné, že popisuje postupy nebo technologie, které v uplynulé době mohly doznat výraznějších změn. Názory a myšlenky v tomto článku již nemusí vyjadřovat současné stanovisko autora nebo autorů. Článek byl napsán 14. září 2016.

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.

.NET Core

Nová podzimní školení .NET Core a Entity Framework Core

Chcete se dozvědět o novinkách v moderním vývojářském stacku (ASP).NET Core a Entity Framework Core? Připravil jsem krátká úderná školení, ve kterých se zaměřím na nové aspekty těchto technologií. Žádná omáčka a žádné opáčko toho, co už znáte. Prostě jen to nové.

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!

Zeptejte se


Školení webového vývoje

Krátká a úderná školení zaměřená na skutečné novinky ve světě webového vývoje.

DatumNázev školeníMístoDélkaCenaStav
08.10.2018Infrastruktura ASP.NET CorePraha3 h.1 500 KčVolná místana registraci ⇒
08.10.2018Úvod do Entity Framework CorePraha4 h.1 900 KčVolná místana registraci ⇒
09.10.2018RESTful Web API s ASP.NET Core MVCPraha3 h.1 500 KčVolná místana registraci ⇒
09.10.2018Diagnostika aplikací s App insightsPraha4 h.1 900 KčVolná místana registraci ⇒

HOLEC, Miroslav. Azure SQL tuning a diagnostika. Azure & ASP.NET Core Blog [online]. Praha: Miroslav Holec, ©2010-2016. Poslední změna článku 14.9.2016 [vid. 2018-09-19]. Dostupné z: https://www.miroslavholec.cz/blog/azure-sql-tuning-a-diagnostika