sql >> Databáze >  >> RDS >> Sqlserver

Vyladění SQL Serveru – vše je o měření

Brent Ozar ví všechno o rychlé jízdě – závodí s auty a denně navyšuje SQL servery s dechberoucími výsledky výkonu databáze. Ve svém webovém vysílání „Jak měřit SQL Server“ pro sérii Quest’s Database Training Days Brent nám připomněl, že výkon je především o měření.

Zvýšení otáček kvůli výkonu

Brent využil příležitosti k nácviku sociálního distancování a oblékl se do kompletní závodní kombinézy a helmy. V nějakém žertování před webcastem jsme se dozvěděli, že si musel zapojit mikrofon do helmy a nalepit si špunty na uši! Ale to jsme odbočili. Celý webový přenos byl o výkonu a bylo možné obejít spoustu analogií s auty.

Pro zlepšení výkonu SQL Serveru jsou prostory:

  • Vyberte metriky, které chcete zlepšit
  • Měřte výkon před a po provedení omezených změn (základní vědecká metoda)
  • Pochopte, kdy máte špatné vybavení pro to, čeho se snažíte dosáhnout

Metriky ladění výkonu databáze

Dlouhá diskuse o nákladních automobilech Ford F150, Ford Fiesta a některých dalších zajímavých vozidlech ukázala, že existují různé způsoby, jak zrychlit zrychlení z 0 na 60 mil za hodinu. Můžete snížit hmotnost vozidla, přidat větší motor nebo začít odstraňovat nepodstatné věci – například čelní sklo. Bude existovat kompromis mezi výkonem a užitečností. Databáze jsou právě takové – často se zatěžují. To je případ, kdy je potřeba vlastní ladění výkonu, což vyžaduje znalost a vylepšení metrik.

Brent tvrdí, že existují tři primární metriky, které potřebujete pro ladění výkonu automobilů a databází:hmotnost, měřítko rychlosti (například 0 až 60) a jak tvrdě pracuje motor (server).

Měření velikosti databáze

Váha pro SQL Server se převádí na celkovou velikost databáze a množství dat, které máte. Obvykle se měří v gigabajtech nebo terabajtech. Od přibližně 1 do 150 GB by měl postačovat SQL Server Standard Edition. Od 150 do 500 GB je pro Enterprise Edition snadné zatížení. Nad 500 GB začíná záležet na tom, zda jde o aktivní data a jak se k nim přistupuje. A cokoli přes 1 TB dat OLTP může být velmi náročné.

Sledování rychlosti výkonu

Rychlostní měřítko v autech je snadné – MPH. U databáze jsou to dávkové požadavky za sekundu, ale je třeba to sledovat každou hodinu v různých časových obdobích. Je zřejmé, že čím více dotazů bude, tím pomalejší bude výkon v závislosti na hardwaru.

Posuzování zátěže dotazů

Konečně, abyste pochopili, jak tvrdě databáze funguje, musíte pochopit, jaké dotazy aktuálně běží a co čeká ve frontě. To vám dá poměr doby čekání – v podstatě jak dlouho úkoly čekají na dokončení ostatních. Poměr čekací doby bude vyjádřen jako hodiny čekací doby za hodinu (nebo sekundy čekací doby za sekundu) – nesměšujte své měrné jednotky. Když budete mít s těmito statistikami v průběhu času dobrý přehled, můžete vidět, co ovlivňuje dobu čekání, například pokud existuje více nebo méně dávkových požadavků, lépe nebo hůře vyladěné dotazy atd. Pak můžete tyto problémy řešit.

Podívejte se na záznam webináře na vyžádání, kde najdete všechny Brentovy moudré rady a humor.


  1. problém s python manage.py migrate -> Žádný modul s názvem psycopg2

  2. Nový příznak trasování pro opravu výkonu proměnné tabulky

  3. Složité omezení cizího klíče v SQLAlchemy

  4. ORA-00936:chybějící výraz orákulum