1 / 29

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

{Teljesítménym onitoro zás és hango lás} a z S QL Server 2008-ban. Bitemo Erik Gergely erik@bitemo.hu 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.

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. {Teljesítménymonitorozás és hangolás} az SQL Server 2008-ban Bitemo Erik Gergelyerik@bitemo.huSenior Database AdministratorWalt Disney Internet Group

  2. {Menetrend } • Monitorozás • Általános bevezető • Eszközök • Kiragadott példák • Demó { +néhány gondolat} • Hangolás

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

  4. Monitorozás - bevezető • Minél kevesebb hatás a felügyelt rendszerre • Rontja a teljesítményt • Hamisíthatja a mért adatokat • Tetszőleges részletességű monitorozás • Pl. 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

  5. Monitorozás {} Baseline – normálértékek • Mi lehet a probléma? • Nem elég csak akkor monitorozni, amikor probléma van – kell a viszonyítási alap • Idő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

  6. Monitorozás – az eszköztár SQL Profiler SQL Server Management Studio Performance Studio ? Data Collection (Performance Data Warehouse) Performance Counterek SQL Trace DMV-k Extended Events (xEvents)

  7. 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ése • Pillanatnyilag kezelt adatforrások(collector type): • Teljesítményszámlálók • SQL Trace • T-SQL lekérdezések • Lekérdezés statisztikák (előre definiált halmaz) • Bővíthető • Központi monitorozás • 3-5% többletterhelés • msdbés Management Data Warehouse adatbázisok

  8. Data Collection fogalmak • Data provider: egy definiált adatforrás, ami egy collector type szerinti adatokat szolgáltat • Collector 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ározza • Collection item: egy collector type egy példánya • Collection set: collection item-ek csoportja, a kezelhető adatgyűjtési egység • Collection mode - cached: az adat nem kerül be azonnal az adatbázisba (később)

  9. A Data Collection működése Riportok Data providerek Collection Set Collector type Collection item MDW Collection item Collector type Data Collector Cache

  10. 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 GUI • Minimális többletterhelés a rendszer számára • 2GHz-es CPU-n 2 ms / eseményfeldolgozás • Folyamatosan futtatható • Egy esemény többszörösen feldolgozható

  11. {SQL 2008 teljesítménymonitorozás} demó

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

  13. { Integration Services } • Sokkal hatékonyabb működés • Az 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

  14. 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élt • Kevesebb I/O művelet • Egy gyakori lekérdezés gyorsítása • Egy erőforrásigényes lekérdezés optimalizálása • Monitorozzunk előtte-utána {baseline} { Statisztika? Index fragmentáció? }

  15. Hangolás – a kezdetektől

  16. Hangolás - Eszköztár • Database Engine Tuning Advisor* • Tranzakció izolációs szintek* • Particionált táblák* • Minimally logged insert • Policy-based Framework • Adat és backup tömörítés • OPTIMIZE FOR* {UNKNOWN} • Plan Guide* • Plan Forcing* • Filtered index • FORCESEEK • Resource Governor * SQL Server 2005 (SP2)

  17. Hangolás – Resource Governor • CPU és memória szabályozása • A rendszerprocesszek védettek (DAC is) • A ki nem használt minimum memória elveszett • CPU 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

  18. Resource Governor {folyamat} Kisker Riport Classifier UDF K R KiskerPool RiportPool Max CPU: 20% Max mem: 20% Max CPU: 100% Max mem: 100% KiskerWG RiportWG Min CPU: 60% Max CPU: 100% Max mem: 100% Min CPU: 20% Max CPU: 100% Max mem: 100% internal default internal default

  19. Resource Governor {memória} Megosztott memória dbo.tbl1 RiportPool min:10%, max 30% KiskerPool min:30%, max 80% ... Default min: 0%, max 100% ...

  20. Tömörítés • Adatot sor vagy lap alapon, csak a lapon tárolt adatokat! • Mentés számszerűen: BACKUP DATABASE AdventureWorks TO ‘AdvBAK’ WITH COMPRESSION

  21. Filtered index • Csak a rekordok egy részére készül el az indexfa • Kevesebb helyet igényel • Gyorsabb futás • Nemcsak filtered index, de filteredstatisztika is van (join-t segítheti) CREATE INDEX IX_Address ON Person.CustomerData(City, Address) WHERE is_active = 1

  22. FORCESEEK • Full table scan vs. Index seek • Segí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.AddressWITH (FORCESEEK) WHERE StateProvinceID = 8

  23. 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)'

  24. {Teljesítményhangolás} demó

  25. Itt a vége... • Az SQL Server 2008 sokat ad hangolhatóság terén is • Próbálják ki az SQL Server 2008-at minél előbb • Ez csak egy rövid áttekintés volt erik@bitemo.hu http://blog.rollback.hu ?

  26. {Viszontlátásra}

More Related