29

{Teljesítménym onitoro zás és hango lás} a z S QL Server 2008-ban

Embed Size (px)

DESCRIPTION

{Teljesítménym onitoro zás és hango lás} a z S QL Server 2008-ban. Bitemo Erik Gergely [email protected] Senior Database Administrator Walt Disney Internet Group. { Menetrend }. Monitorozás Általános bevezető Eszközök Kiragadott példák Demó { +néhány gondolat }. Hangolás. - PowerPoint PPT Presentation

Citation preview

{Teljesítménymonitorozás és hangolás} az SQL Server 2008-ban

Bitemo Erik [email protected] Database AdministratorWalt Disney Internet Group

{ Menetrend }

Monitorozás

Általános bevezetőEszközökKiragadott példákDemó

{ +néhány gondolat }

Hangolás

Teljesítménymonitorozás { láss, ne csak nézz }

Monitorozás - bevezetőMinél kevesebb hatás a felügyelt rendszerre

Rontja a teljesítménytHamisíthatja a mért adatokat

Tetszőleges részletességű monitorozásPl. lockok: instance – adatbázis – tábla – lap szinten

Pont a szükséges adatokat monitorozzuk„ami elmúlt, soha nem jön vissza már” (Máté Péter)

A sok logot soha senki nem akarja kielemezni

Monitorozás { }

Mi lehet a probléma?Nem elég csak akkor monitorozni, amikor probléma van – kell a viszonyítási alapIdőnként alaposan, folyamatosan átfogóan

Processzor, memória, diszk, hálózat, tranzakciók, lockok Probléma esetén a megfelelő részt tovább bontani

Teljesítményszámláló Érték

Processor:%Processor time\_Total 45

PhysicalDisk:Avg Disk Write Queue Length\_Total

5

SQLServer:Buffer Manager\Page life expectancy

51

SQLServer:Transactions\ Transactions 119

Baseline – normálértékek

Performance Studio

Monitorozás – az eszköztárSQL

Profiler

SQL Trace

Data Collection (Performance

Data Warehouse)

Performance Counterek

Extended Events (xEvents)

DMV-k

SQL Server Management Studio

?

Data Collection(Performance Data Warehouse)Proaktív/preventív monitorozás eszköze

Baseline készítésére kiválóKülönböző adatforrások egységes kezelésePillanatnyilag kezelt adatforrások (collector type):

TeljesítményszámlálókSQL TraceT-SQL lekérdezésekLekérdezés statisztikák (előre definiált halmaz)Bővíthető

Központi monitorozás3-5% többletterhelésmsdb és Management Data Warehouse adatbázisok

Data Collection fogalmakData provider: egy definiált adatforrás, ami egy collector type szerinti adatokat szolgáltatCollector type: logikai egységesítő réteg, ami a különböző típusú adatforrásokból történő tényleges adatkinyerést meghatározzaCollection item: egy collector type egy példányaCollection set: collection item-ek csoportja, a kezelhető adatgyűjtési egységCollection mode - cached: az adat nem kerül be azonnal az adatbázisba (később)

Data providerek

Collection Set

A Data Collection működése

Collector type

Collector type

Collection item

Collection item MDW

Data Collector Cache

Riportok

Extended Events (xEvents)Sok eddig rejtett belső esemény kinyerhető

Pl. kapcsolatonkénti várakozások

Korrelálható az operációs rendszer eseményeivel

Kernel trace-szel összevethető Event Tracing for Windows (ETW) segítségével

Nincs GUIMinimális többletterhelés a rendszer számára

2GHz-es CPU-n 2 ms / eseményfeldolgozásFolyamatosan futtatható

Egy esemény többszörösen feldolgozható

{ SQL 2008 teljesítménymonitorozás}

demó

Teljesítményhangolás { sose volt még ilyen jó}

{ Integration Services }

Sokkal hatékonyabb működésAz SQL Server 2008 Integration Services 1.18 TB adatot 29 perc 54 másodperc alatt töltött be (szövegfájlokból)Eddig senki nem mutatott fel jobb eredményt

Hangolás - bevezetőKihívások

Hová tegyem a clustered indexet? A plusz indexek rontják a DML utasítások hatékonyságát Rosszul megírt alkalmazáslogika

Tűzzünk ki céltKevesebb I/O műveletEgy gyakori lekérdezés gyorsításaEgy erőforrásigényes lekérdezés optimalizálása

Monitorozzunk előtte-utána{ baseline }

{ Statisztika? Index fragmentáció? }

Hangolás – a kezdetektől

Hangolás - EszköztárDatabase Engine Tuning Advisor*Tranzakció izolációs szintek*Particionált táblák*Minimally logged insertPolicy-based Framework

Adat és backup tömörítésOPTIMIZE FOR* {UNKNOWN}Plan Guide*Plan Forcing*Filtered indexFORCESEEKResource Governor

* SQL Server 2005 (SP2)

Hangolás – Resource GovernorCPU és memória szabályozásaA rendszerprocesszek védettek (DAC is)A ki nem használt minimum memória elveszettCPU soft, memória hard limit

CPU-t ad többet, ha lehet, memóriát nehéz visszavenni

Versengés esetén nem ígér arányos elosztást

A max 70%-os pool kaphat több erőforrást, mint a 100%-os

defaultinternal

KiskerPool RiportPool

Resource Governor {folyamat}

RiportKisker Classifier UDF

KiskerWG

internal default

RiportWGMax CPU: 20%Max mem: 20%

K R

Min CPU: 60%Max CPU: 100%Max mem: 100%

Max CPU: 100%Max mem: 100%

Min CPU: 20%Max CPU: 100%Max mem: 100%

Resource Governor {memória}

RiportPoolmin:10%, max

30%

KiskerPoolmin:30%, max 80%

Defaultmin: 0%, max 100%

dbo.

tbl1

...

...

Megosztott memória

TömörítésAdatot sor vagy lap alapon, csak a lapon tárolt adatokat!Mentés számszerűen:

BACKUP DATABASE AdventureWorks TO ‘AdvBAK’ WITH COMPRESSION

(tömörítetlen adatbázis)

Tömörítetlen mentés

Tömörített mentés

Backup I/O 24 10

Backup CPU 93 126

(tömörített adatbázis)

Tömörítetlen mentés

Tömörített mentés

Backup I/O 16 10

Backup CPU 125 172

Filtered index

Csak a rekordok egy részére készül el az indexfaKevesebb helyet igényelGyorsabb futásNemcsak filtered index, de filtered statisztika is van (join-t segítheti)

CREATE INDEX IX_Address ON Person.CustomerData(City, Address) WHERE is_active = 1

FORCESEEK

Full table scan vs. Index seekSegítség, ha ismerünk összefüggést az adatok között (pl. ügyfélszámok és regisztrációs dátumok), és azok egyenetlen eloszlásúak

Ha nincs megfelelő index, akkor elbukik{ csak akkor használjunk hinteket, ha pontosan

felmértük a helyzetet és a következményeit }

SELECT * FROM Person.Address WITH (FORCESEEK)WHERE StateProvinceID = 8

Plan Guide, Plan Force

Bizonyos esetekben nem nyúlhatunk az alkalmazáshoz és a lekérdezésekhez

Külső fejlesztés, több telepített példány, stb.

Megadhatunk teljes végrehajtási tervet (XML) vagy csak hinte(ke)t

EXEC sp_create_plan_guide @name = N'Guide1', @stmt = N'SELECT TOP 233 * FROM Person.Address', @type = N'SQL', @module_or_batch = NULL, @params = NULL, @hints = N'OPTION (MAXDOP 1)'

{Teljesítményhangolás}

demó

Itt a vége...Az SQL Server 2008 sokat ad hangolhatóság terén isPróbálják ki az SQL Server 2008-at minél előbb

Ez csak egy rövid áttekintés volt

[email protected]://blog.rollback.hu?

{ Viszontlátásra}