Vytvoření standardních metrik

Dokončeno

Směrný plán je kolekce měření dat, která vám pomůže pochopit normální "stabilní stav" výkonu vaší aplikace nebo serveru. Shromažďování dat v průběhu času umožňuje identifikovat změny z normálního stavu. Standardní hodnoty můžou být stejně jednoduché jako graf využití procesoru v průběhu času nebo složité agregace metrik, které nabízejí podrobná data o výkonu z konkrétních volání aplikací. Členitost směrného plánu bude záviset na závažnosti výkonu databáze a aplikace.

U libovolného typu úlohy aplikace je nezbytné vytvořit pracovní směrný plán. Směrný plán vám pomůže zjistit, jestli by se průběžný problém měl považovat za normální parametry nebo překročil dané prahové hodnoty. Bez směrného plánu by se každý zjištěný problém mohl považovat za normální, a proto nevyžaduje žádný další zásah.

Korelace výkonu SQL Serveru a operačního systému

Při nasazování SQL Serveru na virtuálním počítači Azure je důležité korelovat výkon SQL Serveru s výkonem základního operačního systému. Pokud jako operační systém používáte Linux, budete muset nainstalovat InfluxDB, Collectd a Grafana, abyste zachytili data podobná windows Sledování výkonu. Tyto služby shromažďují data z SQL Serveru a poskytují grafické rozhraní pro kontrolu dat. S využitím těchto nástrojů v Linuxu nebo Sledování výkonu ve Windows je možné použít ve spojení s daty specifickými pro SQL Server, jako jsou statistiky čekání SQL Serveru. Použití těchto nástrojů vám umožní identifikovat kritické body v hardwaru nebo kódu. Následující čítače Sledování výkonu představují vzorkování užitečných metrik Windows a umožňují zachytit dobrý směrný plán pro úlohu SQL Serveru:

Processor(_Total)% čas procesoru – tento čítač měří využití procesoru všech procesorů na serveru. Je to dobrá indikace celkové úlohy a při použití ve spojení s jinými čítači může tento čítač identifikovat problémy s výkonem dotazů.

Stránkovací soubor (_Total)% využití – V správně nakonfigurovaném SQL Serveru by paměť neměla stránkovat stránkovací soubor na disku. V některých konfiguracích však můžete mít spuštěné jiné služby, které spotřebovávají systémovou paměť a vedou k stránkování paměti operačního systému na disk, což vede ke snížení výkonu.

PhysicalDisk(_Total)\Avg. Disk sec/Read and Avg. Disk sec/Write – Tento čítač poskytuje dobrou metriku pro fungování subsystému úložiště. Ve většině případů by hodnoty latence neměly být vyšší než 20 ms a u služby Premium Storage byste měli vidět hodnoty menší než 10 ms.

System\Processor Queue Length – toto číslo označuje počet vláken, která čekají na čas procesoru. Pokud je větší než nula, znamená to, že zatížení procesoru může těžit z více procesorů.

SQLServer:Buffer Manager\Očekávaná délka života stránky - Očekávaná délka života stránky označuje, jak dlouho SQL Server očekává, že stránka bude žít v paměti. Pro toto nastavení neexistuje správná hodnota. Starší dokumentace označuje 300 sekund jako správnou, ale ta byla napsána v 32bitové éře, když servery měly mnohem méně paměti RAM. Tuto hodnotu byste měli monitorovat v průběhu času a vyhodnotit náhlé poklesy. Takové poklesy hodnoty čítače můžou znamenat špatné vzorce dotazu, tlak na externí paměť (například server, na kterém běží velký balíček SSIS), nebo může být jen normální systémové zpracování, jako je spuštění kontroly konzistence u velké databáze.

SQLServer:SQL Statistics\Dávkové požadavky/s – tento čítač je vhodný pro vyhodnocení toho, jak je SQL Server konzistentně zaneprázdněný v průběhu času. Opět neexistuje žádná dobrá nebo špatná hodnota, ale tento čítač můžete použít ve spojení s % času procesoru, abyste lépe porozuměli úlohám a směrným plánům.

SQLServer:SQL Statistics\SQL Compilations/sec a SQL Re-Compilations/sec – Tyto čítače se aktualizují, když SQL Server musí zkompilovat nebo znovu zkompilovat plán provádění dotazu, protože v mezipaměti plánu neexistuje žádný plán nebo protože plán byl kvůli změně neplatný. Rekompily můžou značit T-SQL pomocí nápovědy k dotazům pro rekompilování nebo značit tlak na paměť na mezipaměť plánu způsobený mnoha ad hoc dotazy nebo jednoduchým tlakem na paměť.

Tyto čítače jsou pouze ukázkou dostupných čítačů monitorování výkonu, které jsou pro vás k dispozici. I když výše uvedené čítače poskytují dobrý směrný plán výkonu, možná budete muset prozkoumat více čítačů, abyste zjistili konkrétní problémy s výkonem.

Statistika čekání

Při spuštění vlákna a je nucen čekat na nedostupný prostředek, SQL Server sleduje tyto metriky. Tyto informace lze snadno identifikovat pomocí zobrazení dynamické správy (DMV). sys.dm_os_wait_stats Tyto informace jsou důležité pro pochopení standardního výkonu databáze a můžou vám pomoct identifikovat konkrétní problémy s výkonem při spouštění dotazů i hardwarových omezeních. Identifikace příslušného typu čekání a odpovídající řešení bude pro řešení problémů s výkonem velmi důležité. Statistiky čekání jsou k dispozici na platformě Azure SQL.