Mario Broodbakker mariob@sqlinternals.com SQL Server Wait Events Mario Broodbakker mariob@sqlinternals.com.

Slides:



Advertisements
Verwante presentaties
Help, ik moet naar Office 2007!?. Wat horen wij bij klanten Training “New UI will cause too big of a loss in productivity” Training “New UI will cause.
Advertisements

Data Acquisition & Control System
Applicatieplatform congres 12 & 13 maart
Agenda Blok 1 - Evolutie van Cloud Computing
HM-ES-th1 Les 9 Hardware/Software Codesign with SystemC.
November 2013 Opinieonderzoek Vlaanderen – oktober 2013 Opiniepeiling Vlaanderen uitgevoerd op het iVOXpanel.
Waitstats 2005/ april Wat gaan we doen? • Even voorstellen • Performance problemen • Een veel gebruikte aanvliegroute • Wat zijn waitstats.
Atos, Atos and fish symbol, Atos Origin and fish symbol, Atos Consulting, and the fish itself are registered trademarks of Atos Origin SA. August 2006.
Hoe SQL injection werkt
>>0 >>1 >> 2 >> 3 >> 4 >> Adobe Premiere CS4 – Edius 5.5 – Adobe Elements 7.
Social Technographics Hoe ontwikkel je een succesvolle social media strategie? Reineke Reitsma Director, Consumer Technographics Forrester Research 11.
Internet College 2 Architecturen. Architectuur van netwerktoepassingen •Peer to peer –Windows werkgroep •File- en printer sharing •Internet connection.
Global e-Society Complex België - Regio Vlaanderen e-Regio Provincie Limburg Stad Hasselt Percelen.
JQuery en ASP.NET Bart De Meyer.
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 8(1): Het Operating.
Ronde (Sport & Spel) Quiz Night !
Copyright © 2008 Tele Atlas. All rights reserved. Zet uw Business Data op de kaart: Locaties in eTOM ®
JAVA1 H 16. MULTITHREADING. 1. INLEIDING. Threads: delen van het programma die in concurrentie met elkaar gelijktijdig in executie gaan. Thread is een.
Programmeren in Java met BlueJ
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Gelinkte lijsten Finite State.
Lucene/SOLR 1: inleiding + indexering
Frédérique Harmsze - Macaw 22 juni Wie ben ik?  Frédérique Harmsze  Information Worker Consultant bij Macaw sinds 2004  Intranet-projecten met.
Voor VBA programmeurs Maurice de Beijer.  Maurice de Beijer.  The Problem Solver.  Visual Basic MVP.  Blog: theproblemsolver/default.aspxhttp://msmvps.com/blogs/
AGENDA Het programma start om uur en eindigt om uur met aansluitend een dinerbuffet tot uur. Er is voldoende ruimte om met uw collega.
aripiprazol & negatieve symptomen bij schizofrenie
ThinkQuest Projects Leerkrachten uitnodigen om een project te delen.
SQL injections en meer... PERU. web application vulnerabilities Cross Site Scripting (21.5%) SQL Injection (14%) PHP includes (9.5%) Buffer overflows.
Elke 7 seconden een nieuw getal
Network Address Translation
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 8(2): Multi-processing.
Wat levert de tweede pensioenpijler op voor het personeelslid? 1 Enkele simulaties op basis van de weddeschaal B1-B3.
SPLA Service Provider License Agreement
Client Management met ConfigMgr Jannes Alink – Management.
3.6 Architecture of HIS. 3.7 Integrity & Integration within HIS Suraja Padarath /10/2007.
In dit vakje zie je hoeveel je moet betalen. Uit de volgende drie vakjes kan je dan kiezen. Er is er telkens maar eentje juist. Ken je het juiste antwoord,
Hoorcollege 7 Collections, arrays. Programma ‘Snowflakes’ Sneeuwvlok object.
Seminarie 1: Pythagoreïsche drietallen
Cloud computing. Cloud introductie  Gebruiker: ‘ Computer Basics: What is the Cloud?’ ‘De cloud.
1 Van Harvard naar MIPS. 2 3 Van Harvard naar MIPS Microprocessor without Interlocked Pipeline Stages Verschillen met de Harvard machine: - 32 Registers.
PLAYBOY Kalender 2006 Dit is wat mannen boeit!.
Automation SolutionsMFG/Pro Dutch usergroup 8 februari 2007 ISA S88 & S95 Het gebruik van deze normen in de productie.
DB&SQL8- 1 VBA Visual Basics for Applications: eigen Office versie vanaf Office2000 gelijk voor alle applicaties Programmeren onder meer nodig voor Het.
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  D3EEMS1  programmed I/O: de.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 3 - onderwerpen Het.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Het ARM bord met wat library functies.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 3 - onderwerpen Instruction timing Shadow.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag GUI  command line redirection.
Geheugen, distributie en netwerken Netwerken: de basis voor distributie van gegevens en taken (processen) –bestaan zo’n 40 jaar, zeer snelle ontwikkeling.
Reducing memory penalty by a programmable prefetch engine for on-chip caches Presentatie voor het vak computerarchitectuur door Armin van der Togt.
EFS Seminar Discriminatie van pensioen- en beleggingsfondsen
1 Over het examen (1): Modus Mondeling met schriftelijke voorbereiding 4 uur, 3 onderdelen: –Modellering (  schriftelijk, dan mondeling) –Queries / relationeel.
Microsoft Operations Manager & Scripting
Web Applicaties Bouwen met Visual Studio .NET
ACE Case Oracle 11g Release 2 voor ontwikkelaars Rob van Wijk 17 november 2009.
© Copyright VIMC 2009 Telecom Expense Management A Discussion Ed Vonk
1 december KC Development Tools Oracle HTML DB 2.0.
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
1 Inleiding Backups maken van VMs Klassieke aanpak VMware Consolidated Backup Conclusie.
TOPIC O: Pointers | pag. 1 Pointer = adres in het geheugen, is zelf geen geheugen! Expliciet geheugen aanvragen vóór gebruik.
1 De ontdekking van Web 2.0 Presentatie Team Ordina type hier de datum 19 april 2007.
Plan Coordination by Revision in Collective Agent Based Systems Adriaan ter Mors en Gijsbert Deelder Plan Coordination by Revision in Collective.
Link Popularity Het principe van linkpopulariteit kun je als volgt samenvatten: hoe meer webpagina's er naar een bepaalde webpagina linken, des te belangrijker.
Logistics: a driver for innovation Low costs High value Flexibility now and later Superior technology Timwood - T > No transport - I > No Inventory - M.
Dick Dijkstra Azure Technical Specialist Microsoft
BB examen Dorus Daris. Stage 1 Er zijn trends in de doorlooptijden waarneembaar.
The Solution. Enkele kernpunten Zettabyte File System (ZFS) 128 Bit file system Maximale opslagcapaciteit is gelijk aan op zijn Engels gezegd : 16 billion.
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
Transcript van de presentatie:

Mario Broodbakker mariob@sqlinternals.com SQL Server Wait Events Mario Broodbakker mariob@sqlinternals.com

Bio DBA sinds 1987, eerst mainframe later, Oracle op AIX en Windows. Performance & Benchmark specialist Baan 1997, later bij Compaq. Windows Oracle, SQL Server en Informix benchmarks. Compaq en HP: Unix, en Windows Oracle performance consultant. 2006-2009 Windows Integrity Engineering: Windows Itanium (eh, Oracle) benchmarks in Redmond. In 2002 begonnen met reverse engineering SQL Server 2000 later 2005, om uitbreiding te maken voor wait event collecting. (per user sessie, wait event tracing). Zie: www.sqlinternals.com Artikelen over SQL Server waitstuff www.simple-talk.com/sql/performance Sinds 2010: Database specialist bij PGGM: eindelijk SQL Server DBA!

Wat zijn wait events ? Als SQL Server niet aan het werk is, dan wacht hij. Dit is een wait event: er gebeurt ‘iets’ waardoor de huidige taak moet wachten. SQL Server vertelt waarom hij wacht: Data file of transaction log IO Network IO Locks & Latches CPU En meer dan 480 andere wait types

Wat heb ik eraan? R = S +W : Responsetijd = service time + wait time Response tijd is voor de eindgebruiker waar het om gaat. ‘R’ kan zijn online response tijd, maar ook doorlooptijd voor batch verwerking. Voorbeeld: 4 seconden response tijd blijkt opgebouwd uit 0,2 s CPU tijd en 3,8 seconden IO tijd. Heeft het zin om CPU tijd proberen te optimaliseren? Snellere CPUs? Snellere code?

Een beetje historie Oracle wait events zijn sinds 1994 goed gedocumenteerd (Anjo Kolk), en hebben door de jaren heen hun waarde bewezen. YAPP: Yet Another Performance Profiling method paper. DBCC SQLPerf(Waitstats) niet gedocumenteerd: Gert Drapers en Tom Davidson waren de eersten. Pas in de BOL sinds SQL Server 2005 Microsoft papers: Troubleshooting Performance Problems using Queues and waits (SQL server 2005 en 2008) : Davidson ea.

Waar komen die wait events vandaan? SOS Scheduler Verwerking van ‘work requests’ : een SQL Batch of een deel van een Parallel Query. -> task 1 task draait op 1 scheduler op 1 CPU totdat: Een blocking call plaats vindt: disk IO, network IO -> wait event wordt vastgelegd, start tijd en type. Tijd quantum op is (ter voorkoming van monopolisering van scheduler en dus CPU): SOS_SCHEDULER_WAIT (en SLEEP_TASK?) Werk van een task gebeurt door een worker thread: OS thread of Fiber (light weight pooling)

Verwerkings flow Runnable Running Suspended PreEmptive (uit: SS2005 Practical Troubleshooting: Ken Henderson) Worker available Runnable Running New Task Pending Done Suspended PreEmptive

Wait time De wait time bestaat uit 2 componenten: Resource wait time De tijd die het kost tot de resource vrij komt. De tijd tussen ‘suspended’ en ‘ runnable’ Signal wait time De tijd die het kost om weer gescheduled te worden na het vrijkomen van de resource. De tijd tussen ‘runnable’ en ‘running’. Wait time in DMVs is inclusief signal wait time. Resolutie van timing kan verschillen per SQL Server versie. Vanaf SS2005 SP3 vaak rond de 1ms..of beter (zie link voor uitgebreide info)

Waar te vinden Sys.dm_os_wait_stats (dbcc sqlperf(waitstats) ) (screenshot) Sinds startup, of dbcc sqlperf(sys.dm_os_wait_stats, clear) Wait time, Signal time (tijd: runnable->running) Sys.dm_os_waiting_tasks (screenshot) Sys.dm_exec_requests, Sysprocesses (screenshot) Sys.dm_io_virtual_file_stats(db_id,file_id) (screenshot) Io_stall_read_ms, Io_stall_write_ms en num_reads/writes. ‘echte’ IO tijd, let ook op num_of_bytes_read/written. Meestal 64K per read of meer! (zie screenshot: virtual filestats summary) Sys.dm_db_index_operational_stats(db_id,object_id,etc,..) (screenshot) Waar niet?! Profiler!

select wait_type,waiting_tasks_count,wait_time_ms,signal_wait_time_ms, wait_time_ms/waiting_tasks_count as 'avg wait ms' from sys.dm_os_wait_stats where waiting_tasks_count > 0 order by wait_time_ms desc

select session_id,exec_context_id,wait_duration_ms ,wait_type,resource_description from sys.dm_os_waiting_tasks order by session_id asc

Wait voorbeelden Pagiolatch_xx Pagelatch_xx Wachten op een page van disk. Let op: dit is niet per se de IO tijd. Lange wacht tijden kunnen wijzen op IO problemen, kijk ook naar virtual file stats of perfmon counters. Pagelatch_xx Wachten op toegang tot een database page in memory. _UP types, meestal voor huishoud pages (PFS,GAM,SGAM) Latch_xx (zie volgende slide) Writelog (en logbuffer) Wachten op een transactie log write, vaak na commit. Logbuffer wait: wachten op ruimte in de logbuffer LCK_M_XX Row, key en page lock waits. Asynch_network_io Netwerk writes richting client: afhankelijk van verwerkingssnelheid van client (en netwerk latency)

Wait voorbeelden 2 Sos_scheduler_waits CXPACKET Wachten op beschikbaarheid scheduler Paper over van ondergetekende op www.simple-talk.com CXPACKET Synchronisatie tijdens Parallel Query, hoeft geen probleem te zijn. Erg goede presentatie: http://www.sqlworkshops.com webcast2 SLEEP_TASK en IO_COMPLETION Sleep_task wordt soms gebruikt als ‘scheduler yield’, en soms gewoon als ‘sleep’. Als gezien samen met IO_completion, vaak gevolg van hash joins en sorts. Wederom: http://www.sqlworkshops.com webcast1 CMEMTHREAD, RESOURCE_SEMAPHORE Plan caching/recompile problemen? Memory intensieve queries: grote sorts/hash joins Background waits: Lazywriter_sleep, sqltrace_buffer_flush, logmgr_queue (pas op voor Sleep_task! Lijkt meerdere gebruiken te kennen) PreEmptive waits Buiten scheduler om, bijvoorbeeld system calls of external stored procedures.

Latches Snelle (short-term) synchronisatie objecten Sys.dm_os_latch_stats. Latch_class ‘BUFFER’ is som van PAGE% latches. Een aantal zijn gedocumenteerd in BOL ACCESS_METHODS_xx: gebruikt voor navigatie van indexes en heaps (SCAN/KEY_RANGE_GENERATOR: Parallel Query. Zie ook ‘SQL Broker trouble’ slides achterin.

tools Performance dashboard (screenshot), drildown tool met ‘current’ situatie. Management DW & Performance collector SQL Server 2008, uitbreidbaar DW voor performance info. SQLSTAT2005 (codeplex), houdt snapshots bij van de belangrijkste DMVs, en heeft PerfDashboard-achtige reports. (zie voorbeeld slide) Geen SQL Trace of Profiler ! (zucht) Xevents in SQL Server 2008 Eigen scripts: begin/end_waitstats (zie voorbeeld slides) GO USE [master] SET ANSI_NULLS ON /****** Object: StoredProcedure [dbo].[begin_waitstats] Script Date: 03/17/2011 12:05:47 ******/ SET QUOTED_IDENTIFIER ON as CREATE proc [dbo].[begin_waitstats] if exists (select 1 set nocount on from sys.objects where object_id = object_id ( N'[dbo].[my_waitstats]') and drop table [dbo].[my_waitstats] begin OBJECTPROPERTY(object_id, N'IsUserTable') = 1) end where object_id = object_id ( N'[dbo].[my_cpustats]') and drop table [dbo].[my_cpustats] create table [dbo].[my_waitstats] [waiting_tasks_count] bigint not null, ([wait_type] nvarchar(60) not null, now datetime not null default getdate()) [signal_wait_time_ms] bigint not null, [wait_time_ms] bigint not null, (cpu1 float,io1 float,idle1 float) create table [dbo].[my_cpustats] -- @myspid smallint, declare @i int, @now datetime select @now = getdate() [wait_type], insert into [dbo].[my_waitstats] ( -- select @myspid = @@SPID [waiting_tasks_count], now) [signal_wait_time_ms], [wait_time_ms], select insert into [dbo].[my_cpustats] values ( from sys.dm_os_wait_stats @now @@CPU_BUSY * CAST(@@TIMETICKS AS FLOAT)/1000, End @@idle * CAST(@@TIMETICKS AS FLOAT)/1000) @@io_BUSY * CAST(@@TIMETICKS AS FLOAT)/1000, /****** Object: StoredProcedure [dbo].[end_waitstats] Script Date: 03/17/2011 12:04:38 ******/ CREATE proc [dbo].[end_waitstats] if not exists (select 1 raiserror ('end_waitstats without begin..',16,1) with nowait -- @myspid smallint, s.[wait_type], s.[signal_wait_time_ms]-m.[signal_wait_time_ms] signal_wait_time, s.[wait_time_ms]-m.[wait_time_ms] wait_time, s.[waiting_tasks_count]-m.[waiting_tasks_count] waits, (s.[wait_time_ms]-m.[wait_time_ms])/(s.[waiting_tasks_count]-m.[waiting_tasks_count]) avg_time_waited, where s.[wait_type]=m.[wait_type] and s.[wait_time_ms]-m.[wait_time_ms] > 0 from sys.dm_os_wait_stats s, [dbo].[my_waitstats] m (datepart(ss,@now-m.now))+(datepart(mi,@now-m.now)*60) as 'elapsed_time in sec' and s.[wait_type] not in ( and s.[waiting_tasks_count]-m.[waiting_tasks_count] > 0 'RESOURCE_QUEUE', 'LAZYWRITER_SLEEP', 'CLR_SEMAPHORE', 'SLEEP_SYSTEMTASK', order by wait_time desc 'SQLTRACE_BUFFER_FLUSH', 'WAITFOR') ,(@@idle * CAST(@@TIMETICKS AS FLOAT)/1000)-m.idle1 as idletime ,(@@io_BUSY * CAST(@@TIMETICKS AS FLOAT)/1000)-m.io1 as iotime select @now as now, (@@CPU_BUSY * CAST(@@TIMETICKS AS FLOAT)/1000)-m.cpu1 as cputime from my_cpustats m

Performance Dashboard

Performance Dashboard 2

Begin/End waitstats output wait_type waits wait_time sigwaittime ela sec ------------------------ -------- ---------- ----------- - ------ LCK_M_X 6 94 15 30 LATCH_SH 253 688 47 30 LATCH_EX 371 985 94 30 PAGELATCH_SH 208 47 15 30 PAGELATCH_EX 7194 1484 1453 30 PAGEIOLATCH_SH 5742 63078 469 30 PAGEIOLATCH_EX 2951 29422 266 30 IO_COMPLETION 341 953 0 30 ASYNC_NETWORK_IO 32203 27750 8687 30 SLEEP_BPOOL_FLUSH 139 1109 0 30 SLEEP_TASK 2777 891 813 30 DTC 1619 123266 937 30 BROKER_RECEIVE_WAITFOR 836 45938 328 30 SOS_SCHEDULER_YIELD 3547 4125 4125 30 WRITELOG 6679 121015 3313 30 CMEMTHREAD 90 31 32 30 CXPACKET 1255 2422 312 30 TRANSACTION_MUTEX 237 1578 203 30 DTC_ABORT_REQUEST 30 87000 0 30 BROKER_TASK_STOP 4184 232547 2062 30 now cputime iotime idletime ----------------------- ------------- -------- -------- 2011-02-03 20:48:00.433 39593.75 2125 75781.25

Wait stats snapshots stacked bar

Maar… Nog steeds geen wait events per session, SQL statement of Batch. Blijft een beetje gokken wie verantwoordelijk is voor welke wait events Tenzij je enge tools gebruikt van sqlinternals.com (voorbeeld) Of SQL Server 2008 gebruikt: Xevents! (voorbeeld), helaas geen DMV alleen XML gedoe Veel in SQL Server is Asynchronous, in tegenstelling tot Oracle. (voorbeeld pagiolatch waits vs filestats) Mooi voorbeeld: FTS: read ahead reads maken non-PQ scan heel snel! Vergeet de CPU tijd niet! ondanks dat wait events zeer belangrijk en onmisbaar zijn, is er meer op de wereld. Maar niet veel meer. ..de beste optimalisatie is eliminatie: doe alleen dingen die nodig zijn.

Voorbeelden uit de praktijk insert loop, veel commits Broker problemen Langzamer wordende writelog Tempdb op mirrored disks Batch response tijd evenwicht: DB-appserver Demo SQL Server 2008 XEvents

Insert loop 10k rows, commit inside or outside SQLInternals tools) Commit Inside loop, per row. (or actually no commit, no transaction, in SSMS) Spid Ec resource time(ms) count sig avg perc 51 0 Elapsedtime 10102 0 0 0 n/a 51 0 CPU 1890 13 0 145,3846 19 % 51 0 SOS_SCHEDULER_YIELD 0 12 0 0 0 % 51 0 PAGEIOLATCH_SH 406 70 0 5,8 4 % 51 0 PAGEIOLATCH_EX 15 5 0 3 0 % 51 0 WRITELOG 7531 10003 390 0,7528741 75 % 51 0 Unaccounted for 260 0 0 0 3 % One Commit outside of the loop, with begin transaction: 51 0 Elapsed time 911 0 0 0 n/a 51 0 CPU 812 1 0 812 89 % 51 0 SOS_SCHEDULER_YIELD 62 168 62 0,3690476 7 % 51 0 ASYNC_NETWORK_IO 15 11 0 1,363636 2 % 51 0 WRITELOG 0 1 0 0 0 % 51 0 Unaccounted for 22 0 0 0 2 %

SQL Broker trouble (1 minuut snapshots): wait_type waits wait_time signaltime ----------------------------------------- -------- ---------------- ------------- LATCH_SH 1 300000 0 PAGEIOLATCH_SH 8665 47968 94 PAGEIOLATCH_EX 1 16 0 ASYNC_NETWORK_IO 495 172 62 SLEEP_TASK 3674 438 438 SOS_SCHEDULER_YIELD 2561 1031 1032 WRITELOG 38 62 15 CMEMTHREAD 8552 296 219 cputime iotime idletime ---------------------- ---------------------- ---------------------- 93718,75 17500 6093,75 (volgende slide: sysprocesses)

SQL Broker trouble 2 sysprocesses: spid kpid blocked waittype waittime lastwaittype waitresource cpu ------ ------ --------- ------------- ------------ ----------------------- ------------------------------------------------------------- ---------------- 17 2580 0 0x0000 0 CMEMTHREAD 479216906 18 2584 0 0x0000 0 CMEMTHREAD 463373718 19 2624 18 0x0022 61671 LATCH_SH SERVICE_BROKER_TRANSMITTER (801C4264) 1546 23 2604 17 0x0022 75437 LATCH_SH SERVICE_BROKER_TRANSMITTER (801C40EC) 110 25 668 18 0x0022 155140 LATCH_SH SERVICE_BROKER_TRANSMITTER (801C4264) 3 3684 18 0x0022 84031 LATCH_SH SERVICE_BROKER_TRANSMITTER (801C4264) 12 (sysprocesses.command=‘BRKR TASK’) Spid 17 en 18 in een CPU loop while holding SB transmitter latch: blocking 19,23,25 en 27 Probleem: broker kan berichten niet kwijt vanwege certificate problemen. back

Trager wordende TXlog

Sqlstat2005 8 uur dag Back

TEMPDB write times on mirrored disk (Compare with previous slide: non-mirrored) back

Session timing: 10 min Batch: DB gebruikt slechts 1 resp 2 minuten! Spid EC ResourceDescription Time(ms) Count SignalTime(ms) AvgTime(ms) Perc ----------- ----------- -------------------------------- - ---------- ----------- -------------------- ------------ ---- 110 0 Elapsed time 116974 0 0 0 n/a 110 0 CPU 40737 7914 0 5,14746 35 % 110 0 LCK_M_RS_S 14390 122 31 117,9508 12 % * 110 0 LCK_M_S 13171 108 46 121,9537 11 % * 110 0 PAGEIOLATCH_SH 32390 6186 296 5,236017 28 % 110 0 SOS_SCHEDULER_YIELD 5171 6486 5171 0,7972556 4 % 110 0 PAGELATCH_SH 31 255 31 0,1215686 0 % 110 0 WRITELOG 406 293 31 1,385666 0 % 110 0 LCK_M_SCH_M 46 4 0 11,5 0 % 110 0 DTC 2062 227 31 9,0837 2 % 110 0 TRANSACTION_MUTEX 218 175 15 1,245714 0 % 110 0 ASYNC_NETWORK_IO 4328 1327 421 3,261492 4 % 110 0 LCK_M_X 796 16 0 49,75 1 % 110 0 PAGEIOLATCH_EX 156 35 0 4,457143 0 % 110 0 PAGELATCH_EX 296 550 281 0,5381818 0 % 110 0 Unaccounted for 2776 0 0 0 2 % 72 0 Elapsed time 62532 0 0 0 n/a 72 0 CPU 5996 6168 0 0,9721141 10 % 72 0 PAGEIOLATCH_SH 25812 4577 343 5,639502 41 % 72 0 SOS_SCHEDULER_YIELD 359 434 359 0,827189 1 % 72 0 IO_COMPLETION 78 87 0 0,8965517 0 % 72 0 ASYNC_NETWORK_IO 4281 1158 359 3,696891 7 % 72 0 PAGELATCH_EX 765 1336 765 0,5726048 1 % 72 0 DTC 1093 101 46 10,82178 2 % 72 0 TRANSACTION_MUTEX 156 71 0 2,197183 0 % 72 0 PAGEIOLATCH_EX 18328 3470 140 5,281845 29 % 72 0 LCK_M_RIn_NL 515 6 0 85,83334 1 % 72 0 CMEMTHREAD 0 1 0 0 0 % 72 0 LCK_M_S 3937 1 0 3937 6 % 72 0 Unaccounted for 1212 0 0 0 2 % * The locking in the first session was resolved with read committed snapshots and isolation levels

Read io time summary count Ms/read Eventueel ondersteunings slide: Deze slide laat een breakdown zien van read response tijden in aantallen per readsize in bytes Ms/read