340 likes | 345 Views
3 Methods to End the Madness. Using Profiler & XEvents to Diagnose Slowness Mindy Curnutt, Director - Database Architecture, TMW Systems. About Me. Wife & Mother Busy-Bee Musician Soap Making Baking Crocheting Business Owner Event Planning. About Me.
E N D
3 Methods to End the Madness Using Profiler & XEvents to Diagnose Slowness Mindy Curnutt, Director - Database Architecture, TMW Systems
About Me • Wife & Mother • Busy-Bee • Musician • Soap Making • Baking • Crocheting • Business Owner • Event Planning
About Me Director, Database Architecture, TMW SQL Server MVP SQL Server since 6.5 / 1995 (20 Yrs) SQLPASS Speaker, 2005, 2012, 2013, 2015 PASS Program Manager 2015, 2016 Twitter: @sqlgirl Email: mindycurnutt@hotmail.com
Agenda Overview Profiler or Extended Events? Long Running Queries A Thousand Paper Cuts The Sounds of Silence Summary
Overview Profiler or Extended Events • When to use • How to Use 3 Methods • Long Running Queries • A Thousand Paper Cuts • The Sounds of Silence
Agenda Overview Profiler or Extended Events? Long Running Queries A Thousand Paper Cuts The Sounds of Silence Summary
Profiler Trace Less Than 200 Events Heavier than XEvents No New Events after SQL 2008 Deprecated by Microsoft Easier to Use prior to SQL 2012
Extended Events Like Profiler's Older Brother (or Sister!) - Bigger, More Mature, More Versatile Lighter Weight Easy to use with SQL 2012+
Agenda Overview Profiler or Extended Events? Long Running Queries A Thousand Paper Cuts The Sounds of Silence Summary
Long Running Queries Resource Consumers Blockers Easy to Spot Low Hanging Fruit?
Long Running Queries When Useful? • Occasional Slowness • Blocking Issues • Specific Application Area Slowness • No Budget for 3rd Party Tools • After the Fact Analysis • Need Drill Down (Stmt within Proc)
Long Running Queries Events to Capture • RPC: Completed • SQL Batch: Completed • SP: Statement Completed Filter • Duration > X (example: 5 seconds*) Length of Trace • Long (Can run daily, all day) Performance Hit • Low
Long Running Queries Profiler Demo • Capture • Review XEvents Demo • Capture • Review
Agenda Overview Profiler or Extended Events? Long Running Queries A Thousand Paper Cuts The Sounds of Silence Summary
A Thousand Paper Cuts Aka - Being Buried Alive by Pebbles! Problem: Many, Many Individually Quick Statements RBAR – “Row by Agonizing Row”
A Thousand Paper Cuts Resource Consumers Takes Analysis to Spot Diagnosis may require causing temporary Performance Degradation Typical Causes: • A Data Access Layer writing SQL code • Non Set-Based SQL • Scalar Functions • Trigger that fire other Triggers
A Thousand Paper Cuts When Useful? • Specific Application Area Slowness • Working Directly with User or QA • No Budget for 3rd Party Tools • Long Running Query Approach Comes Up Dry
A Thousand Paper Cuts Events to Capture • RPC: Completed • SQL Batch: Completed Filter • Duration Filter = 0 (be careful!) • User Specific Item (spid, login name…) Length of Trace • Very Short Performance Hit • High
A Thousand Paper Cuts Profiler Demo • Capture • Review XEvents Demo • Capture • Review
Agenda Overview Profiler or Extended Events? Long Running Queries A Thousand Paper Cuts The Sounds of Silence Summary
The Sounds of Silence Hello Darkness My Old FriendI’ve Come to Talk with You Again… Fools, said I, You do not knowSilence like a cancer grows.Hear my words that I might teach you.Take my arms that I might reach you.But my words like silent raindrops fellAnd echoed in the wells of silence
The Sound of Silence • SQL not responsible for the • Slowness being experienced. • Problem: • User experience is poor • SQL utilization low • LRQ Traces show nothing • TPCs are minimal • Is something causing delaybetween SQL calls? • Waitstats will not show this
The Sounds of Silence Takes Analysis to Spot Diagnosis may require causing temporary Performance Degradation Typical Causes: • WAN • Firmware • Overloaded Application Host • Application making a synchronous call to something else
The Sounds of Silence When Useful? • Specific Application Area Slowness • Working Directly with User or QA • No Budget for 3rd Party Tools • Long Running Query Approach Comes Up Dry • Thousand Paper Cut Analysis Comes Up Dry • Waitstats look fine
The Sounds of Silence Scenario 1: Latency
The Sounds of Silence Scenario 2: Pauses within the Application
The Sounds of Silence Events to Capture • RPC: Completed • SQL Batch: Completed Filter • Duration Filter = 0 (be careful!) • User Specific Item (spid, login name…) Length of Trace • Very Short Performance Hit • High
The Sounds of Silence Profiler Demo • Review XEvents Demo • Review
Agenda Overview Profiler or Extended Events? Long Running Queries A Thousand Paper Cuts The Sounds of Silence Summary
Summary LRQ = Long Running QueryTPC = Thousand Paper CutsSOS = Sounds of Silence
Questions? Mindy CurnuttDirector, Database ArchitectureTMW Systems Twitter: @sqlgirlEmail: mindycurnutt@hotmail.com