Presentation is loading. Please wait.

Presentation is loading. Please wait.

3 Methods to End the Madness

Similar presentations


Presentation on theme: "3 Methods to End the Madness"— Presentation transcript:

1 3 Methods to End the Madness
Using Profiler & XEvents to Diagnose Slowness Mindy Curnutt, Director - Database Architecture, TMW Systems

2 About Me Wife & Mother Busy-Bee Musician Soap Making Baking Crocheting
Business Owner Event Planning

3 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

4 Agenda Overview Profiler or Extended Events? Long Running Queries A Thousand Paper Cuts The Sounds of Silence Summary

5 Overview Profiler or Extended Events When to use How to Use 3 Methods
Long Running Queries A Thousand Paper Cuts The Sounds of Silence

6 Agenda Overview Profiler or Extended Events? Long Running Queries A Thousand Paper Cuts The Sounds of Silence Summary

7 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

8 Extended Events Like Profiler's Older Brother (or Sister!) - Bigger, More Mature, More Versatile Lighter Weight Easy to use with SQL 2012+ Version Events GUI Adoption 20008 254 No Low 2008R2 263 2012 596 Yes Low-Medium 2014 815 Medium

9 Events Captured by SQL Version

10 Events to Track Profiler Extended Events 10 - RPC:Completed
sqlserver.rpc_completed 12 - SQL:BatchCompleted sqlserver.sql_batch_completed 45 - SP:StmtCompleted sqlserver.sp_statement_completed

11 SP_Statement_Completed
Events and Actions Default=Black / Additional=Red Extended Events Profiler Columns SP_Statement_Completed SQL_Batch_Completed RPC_Completed 1 textdata statement batch_text 3 databaseid source_database_id database_id 4 transactionid transaction_id 5 linenumber line_number 6 ntusername nt_username 8 hostname client_hostname 10 applicationname client_app_name 11 loginname server_principal_name 12 spid session_id 13 duration duration 14 starttime 15 endtime timestamp 16 reads logical_reads physical_reads 17 writes writes 18 cpu cpu_time 22 objectid object_id 26 servername server_instance_name 27 eventclass name 34 objectname object_name 35 databasename database_name 48 rowcounts row_count

12 Agenda Overview Profiler or Extended Events? Long Running Queries A Thousand Paper Cuts The Sounds of Silence Summary

13 Long Running Queries Resource Consumers Blockers Easy to Spot
Low Hanging Fruit?

14 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)

15 Long Running Queries Events to Capture Filter Length of Trace
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

16 Long Running Queries Profiler Demo Capture Review XEvents Demo

17 Agenda Overview Profiler or Extended Events? Long Running Queries A Thousand Paper Cuts The Sounds of Silence Summary

18 A Thousand Paper Cuts Aka - Being Buried Alive by Pebbles! Problem:
Many, Many Individually Quick Statements RBAR – “Row by Agonizing Row”

19 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

20 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

21 A Thousand Paper Cuts Events to Capture Filter Length of Trace
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

22 A Thousand Paper Cuts Profiler Demo Capture Review XEvents Demo

23 Agenda Overview Profiler or Extended Events? Long Running Queries A Thousand Paper Cuts The Sounds of Silence Summary

24 The Sounds of Silence Hello Darkness My Old Friend I’ve Come to Talk with You Again … Fools, said I, You do not know Silence 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 fell And echoed in the wells of silence

25 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 delay between SQL calls? Waitstats will not show this

26 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

27 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

28 The Sounds of Silence Scenario 1: Latency Duration % of Time
User Experience 308ms 100% SQL Queries 14ms 5% SQL Waiting 294ms 95%

29 The Sounds of Silence Scenario 2: Pauses within the Application
Duration % of Time User Experience 310ms 100% SQL Queries 13ms 5% SQL Waiting 297ms 95%

30 The Sounds of Silence Events to Capture Filter Length of Trace
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

31 The Sounds of Silence Profiler Demo Review XEvents Demo

32 Agenda Overview Profiler or Extended Events? Long Running Queries A Thousand Paper Cuts The Sounds of Silence Summary

33 Summary LRQ = Long Running Query TPC = Thousand Paper Cuts SOS = Sounds of Silence LRQ TPC SOS Diagnosis Easy Hard Occasional Slowness? Yes No Specific Slowness? Maybe Capture Baseline or History Filter On Duration User Length of Trace Long Short Performance Hit Low High

34 Questions? Mindy Curnutt Director, Database Architecture TMW Systems


Download ppt "3 Methods to End the Madness"

Similar presentations


Ads by Google