Download presentation
Presentation is loading. Please wait.
Published bySharon Robertson Modified over 6 years ago
1
Using Extended Events to Diagnose Application Issues
Mind the Gap Using Extended Events to Diagnose Application Issues Mindy Curnutt Partner Mindy Curnutt & Associates Consulting
2
About Me Wife & Mother Busy-Bee Musician Soap Making Baking Crocheting
Entrepreneur Event Planning
3
About Me Independent Consultant 4X MS Data Platform MVP Idera ACE 2017
SQL Server since 6.5 / 1995 (20+ Years) SQLPASS Speaker, 2005, , 2017 PASS Program Manager
4
AGENDA Overview Profiler or Extended Events? Long Running Queries A Thousand Paper Cuts The Sounds of Silence Summary
5
OVERVIEW When to use How to Use Long Running Queries
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
PROFILER VS EXTENDED EVENTS
Like Profiler's Older Brother (or Sister!) - Bigger, More Mature, More Versatile Lighter Weight Easy to use with SQL 2012+
9
PROFILER VS EXTENDED EVENTS
Version Events GUI Adoption 20008 254 No Low 2008R2 263 2012 596 Yes Low-Medium 2014 815 Medium 2016 1303
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
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 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 Like 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 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 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
25
The sounds of silence Takes Analysis & Intuition to Spot
Diagnosis may require causing temporary Performance Degradation Typical Causes: WAN Firmware Overloaded Application Host Application making a synchronous call to something else
26
The sounds of silence Specific Application Area Slowness
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
27
The sounds of silence Scenario 1: Latency Duration % of Time
User Experience 308ms 100% SQL Queries 14ms 5% SQL Waiting 294ms 95%
28
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%
29
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
30
The sounds of silence Profiler Demo Review XEvents Demo
31
AGENDA Overview Profiler or Extended Events? Long Running Queries A Thousand Paper Cuts The Sounds of Silence Summary
32
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
33
QUESTIONS? Mindy Curnutt Independent Consultant
w: e: M O V I N G Y O U F O R W A R D
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.