<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-29671182</id><updated>2011-12-14T22:01:00.650-05:00</updated><title type='text'>Database+Disk+Performance&amp;#8482</title><subtitle type='html'>Tools, Methods, Techniques for the Enterprise Database Professional&lt;br&gt;
SAP + Siebel + PeopleSoft + JD Edwards
&lt;br&gt;
&lt;br&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://databasediskperf.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://databasediskperf.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Frank McBath</name><uri>http://www.blogger.com/profile/10146096947536988139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>20</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-29671182.post-7911372441111419169</id><published>2009-03-10T13:47:00.002-04:00</published><updated>2009-03-12T10:48:49.726-04:00</updated><title type='text'>New Workshops: SQL Server Performance - Free</title><content type='html'>&lt;span style="font-family: arial;"&gt;[Reposting as the formatting was very poor on the original post.]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial; font-weight: bold;"&gt;Upcoming Events: Workshops&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial; font-weight: bold;"&gt;Workshop Dates&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Detroit                         March 30 &amp;amp; 31 &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;New York City             April 2 &amp;amp; 3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Tokyo                           April 9 &amp;amp; 10&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Houston                       April 23 &amp;amp; 24&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Chicago                       May 12 &amp;amp; 13&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Philadelphia                May 14 &amp;amp; 15&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Workshop Abstract&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;There are many classes that cover SQL Server. There are also just as many that cover Oracle Applications… but very few cover the intersection of the two.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;This two day workshop covers the specifics of how the Oracle application interacts with SQL Server and how to architect a scalable and highly available solution. Its focus starts at the ODBC level and goes down to the disk.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Emphasis is on isolating issues, finding problems before they happen, and performance tuning. The goal of the workshop is to move beyond “my system’s slow” into WHY it’s slow and how to fix it. We’ll cover: what to look at, what it means, and what “good” &amp;amp; “bad” look like on a wide variety of platforms.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;While the workshop is in lecture format, real world examples are used exclusively in the form of perfmon and profiler traces in addition to numerous trip reports and health checks that have been done with customers over the last 5 years. We’ll use out of the box tools and basic scripts to gather up information and apply common sense techniques to come up with answers.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Skills learned in this workshop can also be applied to other enterprise applications in your landscape.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Target Audience: DBAs, Siebel/PeopleSoft/JD Edwards Administrators, Consultants&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Working knowledge of SQL Server is encouraged.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial; font-weight: bold;"&gt;Registration&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;Please pull down the registration form here:&lt;br /&gt;&lt;br /&gt;http://www.computationpress.com/microsoftoraclecoe/moceevents.html&lt;br /&gt;&lt;br /&gt;And e-mail to frankmcb@microsoft.com&lt;br /&gt;&lt;br /&gt;Note, NYC is almost completely full. Philly has space. Detroit has space. Houston is filling fast. Chicago has space.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;Database + Disk + Performance&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29671182-7911372441111419169?l=databasediskperf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databasediskperf.blogspot.com/feeds/7911372441111419169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29671182&amp;postID=7911372441111419169' title='43 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/7911372441111419169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/7911372441111419169'/><link rel='alternate' type='text/html' href='http://databasediskperf.blogspot.com/2009/03/new-workshops-sql-server-performance.html' title='New Workshops: SQL Server Performance - Free'/><author><name>Frank McBath</name><uri>http://www.blogger.com/profile/10146096947536988139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>43</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29671182.post-7999015476495588467</id><published>2008-12-30T17:14:00.001-05:00</published><updated>2008-12-30T17:14:38.191-05:00</updated><title type='text'>SQL Server Performance Workshop</title><content type='html'>&lt;span xmlns=''&gt;&lt;p&gt;&lt;strong&gt;SQL Server Performance Workshop: ERP &amp;amp; CRM&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;This two day Microsoft taught workshop covers the specifics of how the Oracle application (Siebel, PeopleSoft, JD Edwards) interacts with SQL Server and how to architect a scalable and highly available solution. Its focus starts at the ODBC level and goes down to the disk.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Cities Taught In&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Zurich, Switzerland&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Tallinn, Estonia&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Stockholm, Sweden&lt;br /&gt;&lt;/p&gt;&lt;p&gt;New York, NY&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Los Angeles, CA&lt;br /&gt;&lt;/p&gt;&lt;p&gt;San Francisco, CA&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Please view the complete logistics at: &lt;a href='http://www.computationpress.com'&gt;www.computationpress.com&lt;/a&gt;&lt;br /&gt;			&lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Abstract&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;There are many classes that cover SQL Server. There are also just as many that cover Oracle Applications… but very few cover the intersection of the two.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;This two day workshop covers the specifics of how the Oracle application interacts with SQL Server and how to architect a scalable and highly available solution. Its focus starts at the ODBC level and goes down to the disk.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Emphasis is on isolating issues, finding problems before they happen, and performance tuning. The goal of the workshop is to move beyond "my system's slow" into WHY it's slow and how to fix it. We'll cover: what to look at, what it means, and what "good" &amp;amp; "bad" look like on a wide variety of platforms.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;While the workshop is in lecture format, real world examples are used exclusively in the form of perfmon and profiler traces in addition to numerous trip reports and health checks that have been done with customers over the last 5 years. We'll use out of the box tools and basic scripts to gather up information and apply common sense techniques to come up with answers.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Skills learned in this workshop can also be applied to other enterprise applications in your landscape.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Target Audience: DBAs, Siebel/PeopleSoft/JD Edwards Administrators, Consultants&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Working knowledge of SQL Server is encouraged.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Event Registration&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Please e-mail Susan Meyer at v-sumeye@microsoft.com to register for the event.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Topics Covered&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Top Reasons for SQL Server 2005/2008&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Query Repro: Reproducing Problem Queries Outside of the Application and Tools to Fix Them&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Performance Tuning Methodology: A Repeatable Process&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Hands on Performance Tuning Lab&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Databases &amp;amp; Disk Drives: Architecting a Scalable Solution&lt;br /&gt;&lt;/p&gt;&lt;p&gt;SQL Server Settings&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Case Study Handouts&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Architecting for RSCI&lt;br /&gt;&lt;/p&gt;&lt;p&gt;SQL Server Compression&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Hyper-V and Virtualization&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;Database + Disk + Performance&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29671182-7999015476495588467?l=databasediskperf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databasediskperf.blogspot.com/feeds/7999015476495588467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29671182&amp;postID=7999015476495588467' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/7999015476495588467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/7999015476495588467'/><link rel='alternate' type='text/html' href='http://databasediskperf.blogspot.com/2008/12/sql-server-performance-workshop.html' title='SQL Server Performance Workshop'/><author><name>Frank McBath</name><uri>http://www.blogger.com/profile/10146096947536988139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29671182.post-5577467472431627372</id><published>2008-05-12T16:39:00.002-04:00</published><updated>2008-05-12T16:40:08.294-04:00</updated><title type='text'>SQL Server Performance Methodology with Oracle Applications</title><content type='html'>&lt;span xmlns=''&gt;&lt;p&gt;This deck presents a systematic way of defining and solving performance issues with Oracle Applications. It gives an overview of how disk architecture impacts performance, how to run a trace, and reproduce the queries properly outside of the application.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Please go to &lt;a href='http://www.computationpress.com'&gt;www.computationpress.com&lt;/a&gt; website to download this deck.&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;Database + Disk + Performance&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29671182-5577467472431627372?l=databasediskperf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databasediskperf.blogspot.com/feeds/5577467472431627372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29671182&amp;postID=5577467472431627372' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/5577467472431627372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/5577467472431627372'/><link rel='alternate' type='text/html' href='http://databasediskperf.blogspot.com/2008/05/sql-server-performance-methodology-with.html' title='SQL Server Performance Methodology with Oracle Applications'/><author><name>Frank McBath</name><uri>http://www.blogger.com/profile/10146096947536988139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29671182.post-3022552026263880847</id><published>2008-05-12T16:32:00.002-04:00</published><updated>2008-05-12T16:36:11.984-04:00</updated><title type='text'>Performance Methodology Flow Chart</title><content type='html'>&lt;span xmlns=''&gt;&lt;p&gt;I have uploaded my Performance Methodology Poster (PDF format) to the Computation Press website: &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href='http://www.computationpress.com'&gt;www.computationpress.com&lt;/a&gt;&lt;br /&gt;   &lt;/p&gt;&lt;p&gt;The poster outlines steps and scripts needed to go in and resolve performance issues with enterprise applications (ERP &amp;amp; CRM). &lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;Database + Disk + Performance&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29671182-3022552026263880847?l=databasediskperf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databasediskperf.blogspot.com/feeds/3022552026263880847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29671182&amp;postID=3022552026263880847' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/3022552026263880847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/3022552026263880847'/><link rel='alternate' type='text/html' href='http://databasediskperf.blogspot.com/2008/05/performance-methodology-flow-chart.html' title='Performance Methodology Flow Chart'/><author><name>Frank McBath</name><uri>http://www.blogger.com/profile/10146096947536988139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29671182.post-1185626419495955730</id><published>2008-05-12T16:30:00.003-04:00</published><updated>2008-05-12T16:38:10.406-04:00</updated><title type='text'>Database &amp; Disk Deck</title><content type='html'>&lt;span xmlns=''&gt;&lt;p&gt;I have posted the deck I give at conferences on database and disk drives. It's a "shorter" deck (ie. One hour talk), instead of the larger deck I sometimes use that covers 4 hours. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;A short abstract:&lt;br /&gt;&lt;/p&gt;&lt;p style='margin-left: 36pt'&gt;It focuses on how to create a scalable database solution on everything from direct attached SCSI to SANs. The deck covers perfmon counters, partition alignment, SQL IO performance testing, proper number of files for space management, etc...&lt;/p&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;www.computationpress.com&lt;div class="blogger-post-footer"&gt;Database + Disk + Performance&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29671182-1185626419495955730?l=databasediskperf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databasediskperf.blogspot.com/feeds/1185626419495955730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29671182&amp;postID=1185626419495955730' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/1185626419495955730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/1185626419495955730'/><link rel='alternate' type='text/html' href='http://databasediskperf.blogspot.com/2008/05/database-disk-deck.html' title='Database &amp;amp; Disk Deck'/><author><name>Frank McBath</name><uri>http://www.blogger.com/profile/10146096947536988139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29671182.post-7045430740622140562</id><published>2008-02-08T17:05:00.001-05:00</published><updated>2008-02-08T17:05:20.572-05:00</updated><title type='text'>Finding Queries That Kill Your System</title><content type='html'>&lt;span xmlns=''&gt;&lt;p&gt;The following is a short article on how to locate poor queries on a JD Edwards/PeopleSoft/Siebel system. I will be following it up with a more comprehensive version taking into account debugging batch jobs and more in depth techniques such as using Excel to drill into issues. But for the moment, I wanted to get this something short and simple posted ASAP. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Introduction&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;The most difficult issue in finding performance issues usually revolves around just defining what the problem is in the first place. This article will focus on how to use Profiler to capture the necessary data and comb through it to define where the issues are and then using the Database Tuning Advisor (DTA) to solve them.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;There are two ways to find long running/resource intensive queries on a system. The first is to use dynamic management views (DMVs) provided in SQL Server 2005, the second is to use Profiler. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;In SQL Server 2005, there are a variety of new DMVs that provide insight into how/why your system is running slow. The main drawback to them are the fact that they provide a "macro" view of the system and can lack the ability to pinpoint exactly where issues are at. For example, a DMV cannot be initialized at the beginning of a job to "reset" the counters for a baseline or that the data collected in the DMV may reflect changes since yesterday or a week ago depending on the available memory to store the information. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;While DMVs are great tools, they are still not a substitute for SQL Server Profiler. Profiler allows you to capture data over a user defined period of time to nail down a specific job or user. This flexibility lets the DBA get a more granular picture of the situation or, if the trace is run for a day, a macro view of your entire system.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;This paper offers a simple step by step method for prioritizing and attacking problems. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;Please look for this paper to be posted by February 9, 2008 at &lt;a href='http://www.computationpress.com'&gt;www.computationpress.com&lt;/a&gt;&lt;br /&gt;			&lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;Database + Disk + Performance&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29671182-7045430740622140562?l=databasediskperf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databasediskperf.blogspot.com/feeds/7045430740622140562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29671182&amp;postID=7045430740622140562' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/7045430740622140562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/7045430740622140562'/><link rel='alternate' type='text/html' href='http://databasediskperf.blogspot.com/2008/02/finding-queries-that-kill-your-system_08.html' title='Finding Queries That Kill Your System'/><author><name>Frank McBath</name><uri>http://www.blogger.com/profile/10146096947536988139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29671182.post-5833657935207382206</id><published>2008-01-14T20:21:00.001-05:00</published><updated>2008-01-14T20:21:17.334-05:00</updated><title type='text'>Calculating How Often An Index Is Used In SQL Server 2005</title><content type='html'>&lt;span xmlns=''&gt;&lt;p&gt;Over the last week, I have been working with several customers trying to manage performance by cutting down the number of non-used indexes in the database. In many canned apps, it's not unheard of to see 50 to 80 indexes on a table where only 10 or 15 are actually populated and used. The problems that occur because of this are numerous: extra disk used, longer backups, and of course—INSERTS, UPDATES and DELETES take much longer. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;One of the main pains in using the DMVs are not being able to initialize them and then sorting through the extra data generated in the process. I wrote a few scripts and decided to turn them into a small TechNote on this subject. The core of the paper provides a method for solving this common problem by using the DMV &lt;span style='font-family:Courier New; font-size:10pt'&gt;sys.dm_db_index_usage_stats&lt;/span&gt;. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;Examples and ideas covered work for SAP, PeopleSoft, Siebel, JD Edwards, and many other canned applications that provide out-of-the-box schema.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The full paper is posted at: &lt;a href='http://www.computationpress.com'&gt;www.computationpress.com&lt;/a&gt;&lt;br /&gt;			&lt;/p&gt;&lt;p&gt;Best Regards,&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Frank&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;Database + Disk + Performance&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29671182-5833657935207382206?l=databasediskperf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databasediskperf.blogspot.com/feeds/5833657935207382206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29671182&amp;postID=5833657935207382206' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/5833657935207382206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/5833657935207382206'/><link rel='alternate' type='text/html' href='http://databasediskperf.blogspot.com/2008/01/calculating-how-often-index-is-used-in.html' title='Calculating How Often An Index Is Used In SQL Server 2005'/><author><name>Frank McBath</name><uri>http://www.blogger.com/profile/10146096947536988139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29671182.post-5497563225298035675</id><published>2008-01-02T21:08:00.001-05:00</published><updated>2008-01-02T21:08:25.834-05:00</updated><title type='text'>Call for Content</title><content type='html'>&lt;span xmlns=''&gt;&lt;p&gt;Finished the last paper and thinking about a new topic. I have probably a dozen or so possibilities, but I'd like to open the floor to the readers and ask the question: What is important to you? What topic would you like written about next that centers around databases + disk + performance?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Please send me an e-mail @ &lt;a href='mailto:frankmcb@gmail.com'&gt;frankmcb@gmail.com&lt;/a&gt; and let me know.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Look forward to hearing from you.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt;Best-&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Frank&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;Database + Disk + Performance&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29671182-5497563225298035675?l=databasediskperf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databasediskperf.blogspot.com/feeds/5497563225298035675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29671182&amp;postID=5497563225298035675' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/5497563225298035675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/5497563225298035675'/><link rel='alternate' type='text/html' href='http://databasediskperf.blogspot.com/2008/01/call-for-content.html' title='Call for Content'/><author><name>Frank McBath</name><uri>http://www.blogger.com/profile/10146096947536988139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29671182.post-6264734800201556144</id><published>2007-12-29T21:27:00.001-05:00</published><updated>2007-12-29T21:27:42.894-05:00</updated><title type='text'>Paper Published &amp; Posted: Poor Disk Performance, Time Outs, Database and the SQL Server Errorlog  </title><content type='html'>&lt;span xmlns=''&gt;&lt;p&gt;Sorry for the delay of a few days. Was caught up in an escalation and the paper went longer than I thought it would—21 pages with references and end notes. Please review this draft and feel free to comment on it. The graphics need to be cleaned up some, etc…&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Please find the paper posted on: &lt;a href='http://www.computationpress.com'&gt;www.computationpress.com&lt;/a&gt;&lt;br /&gt;			&lt;/p&gt;&lt;p&gt;Best Regards,&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Frank&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;Database + Disk + Performance&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29671182-6264734800201556144?l=databasediskperf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databasediskperf.blogspot.com/feeds/6264734800201556144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29671182&amp;postID=6264734800201556144' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/6264734800201556144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/6264734800201556144'/><link rel='alternate' type='text/html' href='http://databasediskperf.blogspot.com/2007/12/paper-published-posted-poor-disk.html' title='Paper Published &amp;amp; Posted: Poor Disk Performance, Time Outs, Database and the SQL Server Errorlog  '/><author><name>Frank McBath</name><uri>http://www.blogger.com/profile/10146096947536988139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29671182.post-3932102352581368747</id><published>2007-12-25T09:54:00.001-05:00</published><updated>2007-12-25T09:54:31.568-05:00</updated><title type='text'>Poor Disk Performance, Time Outs, Database and the Errorlog: SQL Server has encountered % occurrence(s) of IO requests taking longer than 15 seconds to complete on file </title><content type='html'>&lt;span xmlns=''&gt;&lt;p&gt;The SQL Server errorlog provides a wealth of information and is often overlooked, even though it should be the first place we all turn to. The problem though is that most people look at the errorlog only after a problem has occurred instead of proactively looking at it as part of the daily list of tasks.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I've written a TechNote on a common error that affects the disk subsystem and the database and shows up in the errorlog as:&lt;br /&gt;&lt;/p&gt;&lt;p style='margin-left: 36pt'&gt;&lt;span style='font-family:Courier New; font-size:8pt'&gt;SQL Server has encountered 4507 occurrence(s) of IO requests taking longer than 15 seconds to complete on file [D:\Program Files\Microsoft SQL Server\MSSQL\Data\BIGDB_Data.MDF] in database [BIGDB] (7)&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;While many people have blogged on &lt;span style='text-decoration:underline'&gt;WHAT&lt;/span&gt; this issue is and &lt;span style='text-decoration:underline'&gt;WHAT&lt;/span&gt; to look at. Microsoft has published &lt;a href='http://support.microsoft.com/kb/897284'&gt;KB Article 897284&lt;/a&gt; on the topic—which gives a good &lt;span style='text-decoration:underline'&gt;DESCRIPTION&lt;/span&gt;. I want to explore more of the areas around &lt;span style='text-decoration:underline'&gt;&lt;strong&gt;&lt;em&gt;WHY&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt; it happens and suggest some actual suggestions on &lt;span style='text-decoration:underline'&gt;&lt;strong&gt;&lt;em&gt;HOW&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt; to fix it.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Please visit the &lt;a href='http://www.computationpress.com'&gt;Computation Press&lt;/a&gt; website on December 26, 2007 and I'll have the note posted. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href='http://www.computationpress.com'&gt;www.computationpress.com&lt;/a&gt;&lt;br /&gt;			&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;Database + Disk + Performance&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29671182-3932102352581368747?l=databasediskperf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databasediskperf.blogspot.com/feeds/3932102352581368747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29671182&amp;postID=3932102352581368747' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/3932102352581368747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/3932102352581368747'/><link rel='alternate' type='text/html' href='http://databasediskperf.blogspot.com/2007/12/poor-disk-performance-time-outs_25.html' title='Poor Disk Performance, Time Outs, Database and the Errorlog: SQL Server has encountered % occurrence(s) of IO requests taking longer than 15 seconds to complete on file '/><author><name>Frank McBath</name><uri>http://www.blogger.com/profile/10146096947536988139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29671182.post-251220871124728966</id><published>2007-12-19T11:13:00.000-05:00</published><updated>2007-12-19T11:17:35.795-05:00</updated><title type='text'></title><content type='html'>After a long absence, I'm going to kick start this blog again. Over the last year, I've been refining more performance techniques and thoughts as I've been working. More scripts and tools. In addition to the blog, I'll also start creating and posting videos to accompany the postings.&lt;br /&gt;&lt;br /&gt;Look for a new posting in the next week.&lt;br /&gt;&lt;br /&gt;Best-&lt;br /&gt;Frank&lt;div class="blogger-post-footer"&gt;Database + Disk + Performance&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29671182-251220871124728966?l=databasediskperf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databasediskperf.blogspot.com/feeds/251220871124728966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29671182&amp;postID=251220871124728966' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/251220871124728966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/251220871124728966'/><link rel='alternate' type='text/html' href='http://databasediskperf.blogspot.com/2007/12/after-long-absence-im-going-to-kick.html' title=''/><author><name>Frank McBath</name><uri>http://www.blogger.com/profile/10146096947536988139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29671182.post-115223072557111094</id><published>2006-07-06T19:57:00.000-04:00</published><updated>2006-07-07T21:39:48.430-04:00</updated><title type='text'>Index Covering: Database, Disk IO, and Enterprise Apps</title><content type='html'>&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;strong&gt;The Series&lt;/strong&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;This is the first in a series of  articles on Index Covering which is a performance technique to cut down disk IO  and improve query performance. The first article here will define the basic  elements in a query execution plan and how to find the bad parts. The next  article will show how to fix them. Finally I'll conclude with some  larger examples from PeopleSoft, JD Edwards, Siebel and SAP.&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;strong&gt;Introduction&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Databases have two basic  structures for storing information. Index pages and data pages. Both reside on  the disk. To achieve optimal performance, DBA’s create indexes which are really  just organized subsets of data. &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Since an index is a subset of  data, extra reads are often needed to find all the additional information.  Typically, this requires a bookmark lookup. &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;These extra reads on a disk can  add up quickly and cause poor performance. The extra IOs also cause the database  to use cache less efficiently. &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;strong&gt;What is a bookmark  lookup?&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Databases have a concept called  “book mark lookups”. This means that the database has to find what it needs in  the index page, then find the corresponding data page for the rest of the  information required. &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Think of it like this: A person  needs to find George Washington’s birthday. They look in the index of an  encyclopedia to find “Washington, George” which tells them to turn to page 98 to  find an entry on him. On page 98, they find the birthday. This is an example of  a “book mark lookup”. The researcher looks in the index, keeps their finger  there, turns to a page in the book, finds the birthday for the rest of the  information. &lt;/p&gt;    &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;br /&gt;&lt;v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" preferrelative="t" spt="75" coordsize="21600,21600"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path connecttype="rect" gradientshapeok="t" extrusionok="f"&gt;&lt;/v:path&gt;&lt;/v:shapetype&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;A bookmark lookup occurs when the  database cannot find all the needed information for a query in the index  page and so it goes to the data page to complete the request.&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1968/3167/1600/data_index_page.0.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1968/3167/320/data_index_page.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;For example:&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in;"&gt;&lt;span style="font-family:'Courier New';"&gt;create table A (col_one int, col_two int,  col_three int)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in;"&gt;&lt;span style="font-family:'Courier New';"&gt;Go&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in;"&gt;&lt;span style="font-family:'Courier New';"&gt;create index A_P1 on a(col_one,  col_two)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in;"&gt;&lt;span style="font-family:'Courier New';"&gt;Go&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;[Data added to table…]&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in;"&gt;&lt;span style="font-family:'Courier New';"&gt;Select col_three&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in;"&gt;&lt;span style="font-family:'Courier New';"&gt;From A&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in;"&gt;&lt;span style="font-family:'Courier New';"&gt;Where col_one = ‘22’&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;In this example, the query would used index A_P1 to find the row pointer to the data page in the table, but since A_P1 index does not contain column col_three, it would have to do a book mark lookup from the index to the data page.&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;strong&gt;Why are bookmark lookups  bad for performance?&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Not all&lt;span style=""&gt;  &lt;/span&gt;bookmark lookups are horrible. It just means  that the database had to do some extra IO to find the data it needed. If you are  only hitting a few rows, then it’s not an issue. If you are having to sort  through hundreds or thousands of rows to find the one row you needed, or are in  a massive nested loop, then book mark lookups can be a problem. &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;There are several examples below  which will illustrate the pain in enterprise apps that can be large and small  depending on the query. &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;strong&gt;How do you know you have  a bookmark lookup?&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;A bookmark lookup shows up in the  execution plan (ex. &lt;span style="font-family:'Courier New';"&gt;set statistics  profile on&lt;/span&gt;) looking like this:&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:8;"  &gt;&lt;span style="font-size:85%;"&gt;|--Bookmark  Lookup(BOOKMARK:([Bmk1001]),OBJECT:([JDE_CRP].[CRPDTA].[F4311] AS  [T1]))&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;strong&gt;Ok, so I got bookmark  lookups, so what?&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;First, figure out if it’s causing  a drag on the system. Look at the number of rows and executions that the  bookmark lookup is using. Is it 5 or 50,000? This can be seen on the left hand  side of the execution plan using set statistics profile on command. &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;In this example, zero rows were  brought back and the loop was executed only once. This bookmark lookup was not a  problem.&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;color:green;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;color:green;"   &gt;Rows&lt;span style=""&gt;   &lt;/span&gt;Executes&lt;span style=""&gt;   &lt;/span&gt;StmtText &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;color:green;"   &gt;------  ---------  ---------------------------------------------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;color:green;"   &gt;0&lt;span style=""&gt;      &lt;/span&gt;1&lt;span style=""&gt;          &lt;/span&gt;|--Nested Loops(Inner Join, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;color:green;"   &gt;0&lt;span style=""&gt;      &lt;/span&gt;1&lt;span style=""&gt;              &lt;/span&gt;|--Sort(ORDER BY:([T0].[ILUKID]  DESC))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;color:green;"   &gt;0&lt;span style=""&gt;      &lt;/span&gt;1&lt;span style=""&gt;             &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;|&lt;span style=""&gt;     &lt;/span&gt;|--Bookmark Lookup(BOOKMARK:([Bmk1000]),&lt;span style=""&gt;   &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:8;color:green;"   &gt;&lt;span style="font-size:85%;"&gt;0&lt;/span&gt;&lt;span style="font-size:85%;"&gt;      &lt;/span&gt;&lt;span style="font-size:85%;"&gt;1&lt;/span&gt;&lt;span style="font-size:85%;"&gt;              &lt;/span&gt;&lt;span style="font-size:85%;"&gt;|&lt;/span&gt;&lt;span style="font-size:85%;"&gt;         &lt;/span&gt;&lt;span style="font-size:85%;"&gt;|--Index  Seek(OBJECT:([JDE_CRP].[CRPDTA].[F4111].[x] AS&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:8;color:green;"   &gt;&lt;span style="font-size:85%;"&gt;0&lt;/span&gt;&lt;span style="font-size:85%;"&gt;      &lt;/span&gt;&lt;span style="font-size:85%;"&gt;0 &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt;            &lt;/span&gt;&lt;span style="font-size:85%;"&gt;|--Clustered Index  Seek(OBJECT:([JDE_CRP].[CRPDTA].[F4311].&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:8;color:green;"   &gt;&lt;span style=""&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Here is an example where a  bookmark lookup caused severe problems. It is bringing back 85 million rows and  is being executed 4,017 times.&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:10;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;Rows&lt;span style=""&gt;        &lt;/span&gt;Executes&lt;span style=""&gt;    &lt;/span&gt;StmtText&lt;span style=""&gt;            &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;color:green;"   &gt;-----------  -----------  ------------------------------------------------------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;1&lt;span style=""&gt;           &lt;/span&gt;1&lt;span style=""&gt;      &lt;/span&gt;&lt;span style=""&gt;       &lt;/span&gt;&lt;span style="color:gray;"&gt;             |&lt;/span&gt;&lt;span style="color:green;"&gt;--Nested Loops(Inner Join,  WHERE:([T1].[PR_POSTN_ID]=&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;364442&lt;span style=""&gt;      &lt;/span&gt;1&lt;span style=""&gt;             &lt;/span&gt;&lt;span style="color:gray;"&gt;        |&lt;/span&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style="color:green;"&gt;--Index  Scan(OBJECT:([Siebel_Prd].[dbo].&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;85205956&lt;span style=""&gt;    &lt;/span&gt;4017&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color:gray;"&gt;   |&lt;/span&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style="color:green;"&gt;--Bookmark  Lookup(BOOKMARK:([Bmk1001])&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;85205956&lt;span style=""&gt;    &lt;/span&gt;4017&lt;span style=""&gt;             &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style="color:green;"&gt;--Nested Loops(Inner  Join, OUTER &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;4017&lt;span style=""&gt;        &lt;/span&gt;4017&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style="color:green;"&gt;--Nested  Loops(Inner Join, OUTER &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;4017&lt;span style=""&gt;        &lt;/span&gt;4017&lt;span style=""&gt;                 &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style="color:green;"&gt;--Bookmark  Lookup(BOOKMARK:([Bmk1002&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;4017&lt;span style=""&gt;        &lt;/span&gt;4017&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style="color:green;"&gt;--Nested  Loops(Inner Join, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;4017&lt;span style=""&gt;      &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;4017&lt;span style=""&gt;                  &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style=""&gt;         &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style="color:green;"&gt;--Bookmark  Lookup(BOOKMARK:([Bmk&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;4017&lt;span style=""&gt;        &lt;/span&gt;4017&lt;span style=""&gt;                 &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style="color:green;"&gt;--Index  Seek(OBJECT:([Siebel_&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;4017&lt;span style=""&gt;        &lt;/span&gt;4017&lt;span style=""&gt;                 &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style="color:green;"&gt;--Index  Seek(OBJECT:(&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;4017&lt;span style=""&gt;        &lt;/span&gt;4017&lt;span style=""&gt;           &lt;/span&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style="color:gray;"&gt;|&lt;/span&gt;&lt;span style="color:green;"&gt;--Clustered  Index Seek(OBJECT:([Siebel&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:8;"  &gt;&lt;span style="font-size:85%;"&gt;85205956&lt;/span&gt;&lt;span style="font-size:85%;"&gt;    &lt;/span&gt;&lt;span style="font-size:85%;"&gt;4017&lt;/span&gt;&lt;span style="font-size:85%;"&gt;             &lt;/span&gt;&lt;span style=";font-size:85%;color:gray;"  &gt;|&lt;/span&gt;&lt;span style="font-size:85%;"&gt;          &lt;/span&gt;&lt;span style=";font-size:85%;color:gray;"  &gt;|&lt;/span&gt;&lt;span style="color:green;"&gt;&lt;span style="font-size:85%;"&gt;--Index  Seek(OBJECT:([Siebel_Prd].[dbo].[S_&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Database + Disk + Performance&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29671182-115223072557111094?l=databasediskperf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databasediskperf.blogspot.com/feeds/115223072557111094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29671182&amp;postID=115223072557111094' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/115223072557111094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/115223072557111094'/><link rel='alternate' type='text/html' href='http://databasediskperf.blogspot.com/2006/07/index-covering-database-disk-io-and.html' title='Index Covering: Database, Disk IO, and Enterprise Apps'/><author><name>Frank McBath</name><uri>http://www.blogger.com/profile/10146096947536988139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29671182.post-115134841156314491</id><published>2006-06-26T15:00:00.000-04:00</published><updated>2006-07-07T21:16:30.276-04:00</updated><title type='text'>Disk Performance Problem Isolation Techniques: Simple Tools</title><content type='html'>&lt;div&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;Introduction: “I told you SQL Server couldn’t scale…”&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;b style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The usual conversation goes like this… “I told you SQL Server couldn’t scale…” and so the finger pointing begins. As a student of philosophy in college, I learned about rhetoric and baiting techniques. As a DBA, I had to learn to fight back and not be on the defensive from such attacks. From personal experience, I have managed many databases with tens of thousands of users that were multi-terabyte and mission critical… so I knew that these statements were spurious.&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;To me, the issue wasn’t whether the database could scale, but whether the customer architected a scalable architecture that could handle the load and meet the business &lt;st1:place st="on"&gt;SLA&lt;/st1:place&gt;. &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;In a database server running an enterprise application, there are many moving main moving parts. Server, network, OS, app servers, web servers, batch servers, software, HBAs, fabric switches, application customization, etc… All can lead to issues. Regrettably, it’s usually the database that gets the blame.&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;This note will outline tools and techniques to eliminate the database software as the bottleneck and help the team start looking for the real issue, which for database scalability is usually the disk sub system.&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;Tools &amp; Usage&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The first objective is to test outside the SQL Server environment. The reason for this is to eliminate the database as an issue. If you get poor performance outside of SQL Server, then it’s not the database, it’s something else… usually the disk configuration.&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;Disk Copy&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The easiest test to run is a file copy. Simply find a large file, for example, 2G in size and then copy it from one disk to another. You can create this test file by making a test database with a data file of 2G. Detach the database files using sp_detach_db. Then xcopy the files from your drive F: to drive G:.&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:10;color:blue;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:10;color:blue;"   &gt;CREATE&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:10;"  &gt; &lt;span style="color:blue;"&gt;DATABASE&lt;/span&gt; test&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:10;color:blue;"   &gt;ON&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:10;"  &gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:10;color:gray;"   &gt;(&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:10;"  &gt; &lt;span style="color:blue;"&gt;NAME&lt;/span&gt; &lt;span style="color:gray;"&gt;=&lt;/span&gt; test_dat&lt;span style="color:gray;"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;FILENAME&lt;/span&gt; &lt;span style="color:gray;"&gt;=&lt;/span&gt; &lt;span style="color:red;"&gt;'c:\tmp\test_dat.mdf'&lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;SIZE&lt;/span&gt; &lt;span style="color:gray;"&gt;=&lt;/span&gt; 2000MB&lt;span style="color:gray;"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:10;color:fuchsia;"   &gt;LOG&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:10;"  &gt; &lt;span style="color:blue;"&gt;ON&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:10;color:gray;"   &gt;(&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:10;"  &gt; &lt;span style="color:blue;"&gt;NAME&lt;/span&gt; &lt;span style="color:gray;"&gt;=&lt;/span&gt; test_log&lt;span style="color:gray;"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;FILENAME&lt;/span&gt; &lt;span style="color:gray;"&gt;=&lt;/span&gt; &lt;span style="color:red;"&gt;'c:\tmp\test_log.ldf'&lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;SIZE&lt;/span&gt; &lt;span style="color:gray;"&gt;=&lt;/span&gt; 1MB &lt;span style="color:gray;"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:10;"  &gt;go&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:10;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:10;color:maroon;"   &gt;sp_detach_db&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:10;"  &gt; test&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:10;"  &gt;go&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;Another way to create a large file is to use the Windows NT Resource utility "creatfil.exe" which can create a large fixed size file.&lt;br /&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Then go to a DOS command prompt and run the following batch file:&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;time /t&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;xcopy F:\temp\test_dat.mdf G:\temp\test_dat.mdf&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;time /t&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;At this point there are few things to remember:&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;ol style="margin-top: 0in;" type="1"&gt;  &lt;li class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Make   sure you are copying data to physical different drives. Please remember that   different LUNs can still share the same physical drives and controller. &lt;/li&gt;  &lt;li class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Run   a PERFMON trace and look at the logical transfer rates. This is outlined in   the previous note on latency. If you are seeing times greater than 10 ms, you   probably have a configuration issue of your SAN. You may need more   spindles.&lt;/li&gt;  &lt;li class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Look   at how many MB/sec you are pushing through. Take the size of the data file   (ex. 100MB) and divide it by how many seconds it took to copy it. To get an   idea of throughput, the following table gives a broad idea to compare your   results with:&lt;/li&gt;&lt;/ol&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;table class="MsoNormalTable" style="margin: auto auto auto 4.65pt; width: 153.75pt; border-collapse: collapse;" border="0" cellpadding="0" cellspacing="0" width="205"&gt;    &lt;tbody&gt;&lt;tr style="height: 12.75pt;"&gt;    &lt;td style="border: 1pt solid windowtext; padding: 0in 5.4pt; width: 72.75pt; height: 12.75pt;" nowrap="nowrap" valign="bottom" width="97"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Laptop&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext rgb(236, 233, 216); border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 81pt; height: 12.75pt;" nowrap="nowrap" valign="bottom" width="108"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;34     MB/sec&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;  &lt;tr style="height: 12.75pt;"&gt;    &lt;td style="border-style: none solid solid; border-color: rgb(236, 233, 216) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 72.75pt; height: 12.75pt;" nowrap="nowrap" valign="bottom" width="97"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Poor     SAN&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 81pt; height: 12.75pt;" nowrap="nowrap" valign="bottom" width="108"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;35     MB/sec&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;  &lt;tr style="height: 12.75pt;"&gt;    &lt;td style="border-style: none solid solid; border-color: rgb(236, 233, 216) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 72.75pt; height: 12.75pt;" nowrap="nowrap" valign="bottom" width="97"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Good     SAN&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 81pt; height: 12.75pt;" nowrap="nowrap" valign="bottom" width="108"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;180       MB/sec&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;  &lt;tr style="height: 12.75pt;"&gt;    &lt;td style="border-style: none solid solid; border-color: rgb(236, 233, 216) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 72.75pt; height: 12.75pt;" nowrap="nowrap" valign="bottom" width="97"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;Great     SAN&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 81pt; height: 12.75pt;" nowrap="nowrap" valign="bottom" width="108"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;412       MB/sec&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Lastly, run the same test on another server that is running “well”. Compare the results. &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;SQLIOSTRESS &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;SQLIOSTRESS is a free tool that Microsoft offers to create a disk load that simulates SQL Server activity. Please note, you do not have to have SQL Server installed on the server to run it. Hence, it makes a good tool to run prior to creating your database and installing a lot of software that you may have to redo in case you have to flatten and rebuild your SAN to get adequate numbers.&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;SQLIOSTRESS can be obtained at this location:&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;a href="http://support.microsoft.com/kb/q231619/"&gt;http://support.microsoft.com/kb/q231619/&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The tool will give the DBA plenty of information. What I like to do is run the tool and then monitor the IO patterns with PERFMON.&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;IOMETER&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;IOMETER is another tool that creates a large workload on the disk drive sub system. The tool is not database specific and allows the user to configure the type of workload and IO patterns that need to be run against the disk&lt;span style=""&gt;  &lt;/span&gt;This tool is also free. It can be downloaded from:&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;a href="http://www.iometer.org/doc/downloads.html"&gt;http://www.iometer.org/doc/downloads.html&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Again, use PERMON to watch while the tool is running. Look at the output reports from IOMETER. &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;SQLIO&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Lastly, another Microsoft tool that can be downloaded is SQLIO. The tool is located at:&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:10;"&gt;&lt;a href="http://download.microsoft.com/download/f/3/f/f3f92f8b-b24e-4c2e-9e86-d66df1f6f83b/SQLIO.msi" target="_parent"&gt;http://download.microsoft.com/download/f/3/f/f3f92&lt;/a&gt;&lt;a href="http://download.microsoft.com/download/f/3/f/f3f92f8b-b24e-4c2e-9e86-d66df1f6f83b/SQLIO.msi" target="_parent"&gt;f8b-b24e-4c2e-9e86-d66df1f6f83b/SQLIO.msi&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;This tool will generate data and give an output report. A sample run on a small file from my laptop looks like this:&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;C:\Program Files\SQLIO&gt;sqlio -kR -s360 -fsequential -o8 -b64 -LS -dE -Fparameter.txt&lt;br /&gt;sqlio v1.5.SG&lt;br /&gt;using system counter for latency timings, -1302407296 counts per second&lt;br /&gt;parameter file used: parameter.txt&lt;br /&gt;file C:\TestFile\TestFile.dat with 16 threads (0-15) using mask 0x0 (0)&lt;br /&gt;16 threads reading for 360 secs from file C&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;:\testdir\test.dat&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;    using 64KB sequential IOs&lt;br /&gt;enabling multiple I/Os per thread with 8 outstanding&lt;br /&gt;using specified size: 100 MB for file: C:\testdir\test.dat&lt;br /&gt;initialization done&lt;br /&gt;CUMULATIVE DATA:&lt;br /&gt;throughput metrics:&lt;br /&gt;IOs/sec:  6755.07&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;MBs/sec:   422.19&lt;/span&gt;&lt;br /&gt;latency metrics:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Min_Latency(ms): 2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Avg_Latency(ms): 18&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Max_Latency(ms): 47&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in;"&gt;&lt;b&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;Summary&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Secure a good baseline by running some of the above tools and processes. Then compare the numbers to other “good” systems you have running and to other published data. Work with your drive vendor if the throughput numbers are not like you would suspect. Keep in mind, you get what you pay for. If you spend little,&lt;span style=""&gt;  &lt;/span&gt;don’t expect 500 MB/sec throughput!&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;After running the above types of test, I’ll often run a BACKUP to a NUL: device and then compare a database operation to a non-database run. For example, what is the MB/sec throughput of a BACKUP to NUL: versus an XCOPY. If they are the same, then you know the database is not the issue and it’s the disk that is probably the bottleneck.&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The key idea in problem isolation and resolution is figure out which part of the equation is causing the problem To do that, you need to break up the variables and test them independently. The above tools give you mechanisms in which to do this. &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt;Addendum:&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt;Microsoft TechNet Article: Ruling Out Disk-Bound Problems&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt;Focuses on perfmon counters. Covers Exchange and some database.&lt;br /&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt;http://www.microsoft.com/technet/prodtechnol/exchange/guides/TrblshtE2k3Perf/5bcdd349-dcc6-43eb-9dc3-54175f7061ad.mspx?mfr=true&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: rgb(255, 102, 102); font-weight: bold;"&gt;IMPORTANT NOTE&lt;/span&gt;: When running these tests, make sure that the data used is greater than the size of the SAN cache. The reason for this is the SAN cache will buffer the file and distort the results. For example, if the SAN cache is 1G in size, then make the file used in XCOPY or SQLIO to be 2G in size.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;span style="color: rgb(0, 0, 128);font-family:VERDANA;font-size:78%;"  &gt;&lt;i&gt;Powered By &lt;a href="http://www.qumana.com" target="_blank"&gt;Qumana&lt;/a&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Database + Disk + Performance&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29671182-115134841156314491?l=databasediskperf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databasediskperf.blogspot.com/feeds/115134841156314491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29671182&amp;postID=115134841156314491' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/115134841156314491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/115134841156314491'/><link rel='alternate' type='text/html' href='http://databasediskperf.blogspot.com/2006/06/disk-performance-problem-isolation.html' title='Disk Performance Problem Isolation Techniques: Simple Tools'/><author><name>Frank McBath</name><uri>http://www.blogger.com/profile/10146096947536988139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29671182.post-115134820261543115</id><published>2006-06-26T14:56:00.000-04:00</published><updated>2006-06-27T08:53:45.836-04:00</updated><title type='text'>Finding the Top 10 Long Running Queries</title><content type='html'>&lt;div&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;Introduction&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;b style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;When having a performance issue, the first thing the DBA needs is to define what the problem is. The first thing I ask when someone says, “it’s running slow…” is to respond, “can you please give me a list of the top 10 worst queries.” Usually, the response is, “I don’t know exactly what they are…”&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;This note will explain how to isolate the queries by letting the computer tell you where the problems are.&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The process is simple, it encompasses the following methodology:&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;ol style="margin-top: 0in;" type="1"&gt;  &lt;li class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Turn   on SQL Server Profiler&lt;/li&gt;  &lt;li class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Run   it for a few hours filtering on long duration or high reads&lt;/li&gt;  &lt;li class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Save   the profiler trace into a temporary table&lt;/li&gt;  &lt;li class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Run   a few queries against the data &lt;/li&gt;  &lt;li class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Prioritize   them as a working list to attack&lt;/li&gt;&lt;/ol&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The key concept: Long running queries hammer the disk and cause poor cache hit ratios. If too many users run them, the disk subsystem can suffer because a few users are monopolizing all the resources. &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;Collecting the Data&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Typically, I’ll start up profiler and run it for 2 or 3 hours to capture a representative sample of data. Then I’ll use this information to make my decisions. This data collected will serve as a baseline for whether I got better or worse as I tune.&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;ol style="margin-top: 0in;" type="1"&gt;  &lt;li class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Start   up SQL Server Profiler. Collect on these two events:&lt;/li&gt;  &lt;ol style="margin-top: 0in;" type="a"&gt;    &lt;li class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;RPC:Completed&lt;/li&gt;    &lt;li class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;SQL:BatchComplete&lt;/li&gt;    &lt;li class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;These     two will show queries that have completed.&lt;/li&gt;&lt;/ol&gt;  &lt;li class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;Filter   on columns:&lt;/span&gt;&lt;/li&gt;  &lt;ol style="margin-top: 0in;" type="a"&gt;    &lt;li class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;Duration     and/or,&lt;/span&gt;&lt;/li&gt;&lt;ol&gt;&lt;li class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;The criteria should start off with 30,000&lt;/span&gt;&lt;/li&gt;&lt;ol&gt;&lt;li class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;The unit of measure is milliseconds, hence, 30,000 = 30 seconds.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;ol style="margin-top: 0in;" start="2" type="1"&gt;  &lt;ol style="margin-top: 0in;" start="2" type="a"&gt;    &lt;li class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;Reads&lt;/span&gt;&lt;/li&gt;&lt;ol&gt;&lt;li class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;The criteria should start with 10,000&lt;/span&gt;&lt;/li&gt;&lt;ol&gt;&lt;li class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;The unit of measure is 8K. 10,000 reads = 81,920,000 bytes of IO. If you are doing 81M of IO, you probably have a query that needs investigating!&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Let the trace run for a while. Then stop is and “Save As” a profiler trace file. Once it’s in a file, the DBA can start analyzing the data. &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;Rolling Up Queries&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Usually, the easiest way to analyze the information is from within SQL Server. Import the trace file and then run queries against it to find the problems.&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The trace file itself has the issues in it. We’ve already filtered for long running queries. Now, we just need to organize the data a bit.&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;First import the trace file using the following SQL Server function call:&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:130%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;use&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; tempdb&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;go&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;SELECT&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; &lt;span style="color:blue;"&gt;IDENTITY&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;/span&gt; 1&lt;span style="color:gray;"&gt;,&lt;/span&gt; 1&lt;span style="color:gray;"&gt;)&lt;/span&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt; RowNumber&lt;span style="color:gray;"&gt;,&lt;/span&gt; &lt;span style="color:gray;"&gt;*&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; profiler_analysis&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;FROM&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; &lt;span style="color:gray;"&gt;::&lt;/span&gt;fn_trace_gettable&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'c:\tmp\profilerdata.trc'&lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;/span&gt; &lt;span style="color:blue;"&gt;default&lt;/span&gt;&lt;span style="color:gray;"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:130%;"  &gt;&lt;span style="font-size:100%;"&gt;go&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:130%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:130%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Next, get an idea of what you are looking at. For example, how much IO occurred for the monitoring run? What was the overall duration for all the long running queries? &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;select&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; &lt;span style="color:fuchsia;"&gt;sum&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;Reads&lt;span style="color:gray;"&gt;)*&lt;/span&gt;8192. &lt;span style="color:red;"&gt;'Bytes Read'&lt;/span&gt; &lt;span style="color:blue;"&gt;from&lt;/span&gt; profiler &lt;span style="color:blue;"&gt;where&lt;/span&gt; Reads &lt;span style="color:gray;"&gt;is&lt;/span&gt; &lt;span style="color:gray;"&gt;not&lt;/span&gt; &lt;span style="color:gray;"&gt;NULL;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;go&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;span style=""&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;Bytes &lt;span style="color:blue;"&gt;Read&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:green;"   &gt;---------------------------------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;277&lt;span style="color:gray;"&gt;,&lt;/span&gt;818&lt;span style="color:gray;"&gt;,&lt;/span&gt;179&lt;span style="color:gray;"&gt;,&lt;/span&gt;584&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:gray;"   &gt;(&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;1 row&lt;span style="color:gray;"&gt;(&lt;/span&gt;s&lt;span style="color:gray;"&gt;)&lt;/span&gt; affected&lt;span style="color:gray;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;select&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; &lt;span style="color:fuchsia;"&gt;sum&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;Duration&lt;span style="color:gray;"&gt;)/&lt;/span&gt;1000. &lt;span style="color:red;"&gt;'Number of Seconds'&lt;/span&gt; &lt;span style="color:blue;"&gt;from&lt;/span&gt; profiler_analysis&lt;span style="color:blue;"&gt; where&lt;/span&gt; Duration &lt;span style="color:gray;"&gt;is&lt;/span&gt; &lt;span style="color:gray;"&gt;not&lt;/span&gt; &lt;span style="color:gray;"&gt;NULL;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;go&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;span style=""&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;Number &lt;span style="color:blue;"&gt;of&lt;/span&gt; Seconds&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:green;"   &gt;---------------------------------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;8914.941000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:gray;"   &gt;(&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;1 row&lt;span style="color:gray;"&gt;(&lt;/span&gt;s&lt;span style="color:gray;"&gt;)&lt;/span&gt; affected&lt;span style="color:gray;"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;select&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; &lt;span style="color:fuchsia;"&gt;sum&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;Duration&lt;span style="color:gray;"&gt;)/&lt;/span&gt;1000.&lt;span style="color:gray;"&gt;/&lt;/span&gt;3600.&lt;span style="color:red;"&gt;'Number of Hours'&lt;/span&gt; &lt;span style="color:blue;"&gt;from&lt;/span&gt; profiler_analysis&lt;span style="color:blue;"&gt; where&lt;/span&gt; Duration &lt;span style="color:gray;"&gt;is&lt;/span&gt; &lt;span style="color:gray;"&gt;not&lt;/span&gt; &lt;span style="color:gray;"&gt;NULL;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;go&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;span style=""&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:gray;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;Number &lt;span style="color:blue;"&gt;of&lt;/span&gt; Hours&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:green;"   &gt;---------------------------------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;2.47637250000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:gray;"   &gt;(&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:10;"  &gt;&lt;span style="font-size:100%;"&gt;1 row&lt;/span&gt;&lt;span style=";font-size:100%;color:gray;"  &gt;(&lt;/span&gt;&lt;span style="font-size:100%;"&gt;s&lt;/span&gt;&lt;span style=";font-size:100%;color:gray;"  &gt;)&lt;/span&gt;&lt;span style="font-size:100%;"&gt; affected&lt;/span&gt;&lt;span style="color:gray;"&gt;&lt;span style="font-size:100%;"&gt;)&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The following query shows the total amount of Reads by user:&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:10;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;select&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; &lt;span style="color:fuchsia;"&gt;convert&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;char&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;20&lt;span style="color:gray;"&gt;),&lt;/span&gt;LoginName&lt;span style="color:gray;"&gt;)&lt;/span&gt;&lt;span style="color:red;"&gt;'User Name'&lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;/span&gt; &lt;span style="color:fuchsia;"&gt;sum&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;Reads&lt;span style="color:gray;"&gt;)*&lt;/span&gt;8192. &lt;span style="color:red;"&gt;'Total Bytes Read'&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;from&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; profiler_analysis&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;where&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; Reads &lt;span style="color:gray;"&gt;is&lt;/span&gt; &lt;span style="color:gray;"&gt;not&lt;/span&gt; &lt;span style="color:gray;"&gt;NULL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;group&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; &lt;span style="color:blue;"&gt;by&lt;/span&gt; LoginName&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;order&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; &lt;span style="color:blue;"&gt;by&lt;/span&gt; &lt;span style="color:fuchsia;"&gt;sum&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;Reads&lt;span style="color:gray;"&gt;)&lt;/span&gt; &lt;span style="color:blue;"&gt;desc&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;go&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:fuchsia;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:fuchsia;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:fuchsia;"   &gt;User&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; &lt;span style="color:blue;"&gt;Name&lt;/span&gt;&lt;span style=""&gt;            &lt;/span&gt;Total Bytes &lt;span style="color:blue;"&gt;Read&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:green;"   &gt;-------------------- ---------------------------------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;jde&lt;span style=""&gt;                  &lt;/span&gt;      178276974592&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;sa&lt;span style=""&gt;                       &lt;/span&gt;   53321981952&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;usera&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt;               &lt;/span&gt;    20445822976&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userb&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt;               &lt;/span&gt;    10917101568&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userc&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt;               &lt;/span&gt;    5227069440&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userd&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt;               &lt;/span&gt;    2638151680&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;usere&lt;span style=""&gt;     &lt;/span&gt;2081947648&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userf    &lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt;               &lt;/span&gt;2063392768&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userg&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt;               &lt;/span&gt;    1147445248&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userh&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt;               &lt;/span&gt;    670384128&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;useri&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt;               &lt;/span&gt;    406921216&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userj&lt;span style=""&gt;     &lt;/span&gt;316260352&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userk&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt;               &lt;/span&gt;    169639936&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userl&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt;               &lt;/span&gt;    55287808&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userm&lt;span style=""&gt;     &lt;/span&gt;43941888&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;usern&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt;               &lt;/span&gt;    19152896&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;usero&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt;               &lt;/span&gt;    9584640&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userp&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt;               &lt;/span&gt;    4866048&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userq&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt;               &lt;/span&gt;    2252800&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:gray;"   &gt;(&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;19 row&lt;span style="color:gray;"&gt;(&lt;/span&gt;s&lt;span style="color:gray;"&gt;)&lt;/span&gt; affected&lt;span style="color:gray;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;span style="color:gray;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:gray;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:10;color:gray;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The following query shows the total amount of seconds by user:&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:10;color:gray;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:gray;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;select&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; &lt;span style="color:fuchsia;"&gt;convert&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;char&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;20&lt;span style="color:gray;"&gt;),&lt;/span&gt;LoginName&lt;span style="color:gray;"&gt;)&lt;/span&gt;&lt;span style="color:red;"&gt;'User Name'&lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;/span&gt; &lt;span style="color:fuchsia;"&gt;sum&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;Duration&lt;span style="color:gray;"&gt;)/&lt;/span&gt;1000. &lt;span style="color:red;"&gt;'Seconds Run'&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;from&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; profiler_analysis&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;where&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; Duration &lt;span style="color:gray;"&gt;is&lt;/span&gt; &lt;span style="color:gray;"&gt;not&lt;/span&gt; &lt;span style="color:gray;"&gt;NULL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;group&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; &lt;span style="color:blue;"&gt;by&lt;/span&gt; LoginName&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;order&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; &lt;span style="color:blue;"&gt;by&lt;/span&gt; &lt;span style="color:fuchsia;"&gt;sum&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;Duration&lt;span style="color:gray;"&gt;)&lt;/span&gt; &lt;span style="color:blue;"&gt;desc&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;go&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:fuchsia;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:fuchsia;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:fuchsia;"   &gt;User&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; &lt;span style="color:blue;"&gt;Name&lt;/span&gt;&lt;span style=""&gt;            &lt;/span&gt;Seconds Run&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:green;"   &gt;-------------------- ---------------------------------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;jde&lt;span style=""&gt;                  &lt;/span&gt;5456.860000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;JDEService&lt;span style=""&gt;    &lt;/span&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;1999.540000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;sa&lt;span style=""&gt;                   &lt;/span&gt;313.579000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;usera&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt;               &lt;/span&gt;240.462000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userb&lt;span style=""&gt;                &lt;/span&gt;176.452000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userc&lt;span style=""&gt;                &lt;/span&gt;135.483000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userd&lt;span style=""&gt;                &lt;/span&gt;115.636000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;usere&lt;span style=""&gt;                &lt;/span&gt;100.881000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userf&lt;span style=""&gt;                &lt;/span&gt;90.918000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userg&lt;span style=""&gt;                &lt;/span&gt;76.247000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userh&lt;span style=""&gt;                &lt;/span&gt;52.656000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;useri&lt;span style=""&gt;                &lt;/span&gt;40.941000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userj&lt;span style=""&gt;                &lt;/span&gt;37.466000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userk&lt;span style=""&gt;                &lt;/span&gt;28.084000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userl&lt;span style=""&gt;                &lt;/span&gt;19.438000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userm&lt;span style=""&gt;                &lt;/span&gt;11.656000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;usern&lt;span style=""&gt;                &lt;/span&gt;11.329000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;usero&lt;span style=""&gt;                &lt;/span&gt;4.673000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;userp&lt;span style=""&gt;                &lt;/span&gt;2.640000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:gray;"   &gt;(&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;19 row&lt;span style="color:gray;"&gt;(&lt;/span&gt;s&lt;span style="color:gray;"&gt;)&lt;/span&gt; affected&lt;span style="color:gray;"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:gray;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Finally, these two queries show the DBA the top 10 queries for Reads and Duration:&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;select&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; &lt;span style="color:blue;"&gt;top&lt;/span&gt; 10 RowNumber&lt;span style="color:gray;"&gt;,&lt;/span&gt; Duration&lt;span style="color:gray;"&gt;,&lt;/span&gt; Reads&lt;span style="color:gray;"&gt;,&lt;/span&gt; LoginName&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;from&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; profiler_analysis&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;order&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; &lt;span style="color:blue;"&gt;by&lt;/span&gt; Reads &lt;span style="color:blue;"&gt;desc&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;go&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:10;"  &gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;RowNumber&lt;span style=""&gt;   &lt;/span&gt;Duration&lt;span style=""&gt;             &lt;/span&gt;Reads&lt;span style=""&gt;                &lt;/span&gt;LoginName&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:green;"   &gt;----------- -------------------- -------------------- -----------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;485&lt;span style=""&gt;         &lt;/span&gt;257230&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;             &lt;/span&gt;3886609&lt;span style=""&gt;              &lt;/span&gt;sa &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;239&lt;span style=""&gt;         &lt;/span&gt;87690&lt;span style=""&gt;                &lt;/span&gt;1370174&lt;span style=""&gt;              &lt;/span&gt;usera &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;853&lt;span style=""&gt;         &lt;/span&gt;101810&lt;span style=""&gt;               &lt;/span&gt;1264835&lt;span style=""&gt;              &lt;/span&gt;userb &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;629&lt;span style=""&gt;         &lt;/span&gt;142370&lt;span style=""&gt;               &lt;/span&gt;1264577&lt;span style=""&gt;              &lt;/span&gt;jde &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;7&lt;span style=""&gt;           &lt;/span&gt;118890&lt;span style=""&gt;               &lt;/span&gt;1264197&lt;span style=""&gt;              &lt;/span&gt;JDE &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;747&lt;span style=""&gt;         &lt;/span&gt;8596&lt;span style=""&gt;                 &lt;/span&gt;801035&lt;span style=""&gt;               &lt;/span&gt;sa &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;289&lt;span style=""&gt;         &lt;/span&gt;13970&lt;span style=""&gt;                &lt;/span&gt;740066&lt;span style=""&gt;               &lt;/span&gt;sa &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;264&lt;span style=""&gt;         &lt;/span&gt;7063&lt;span style=""&gt;                 &lt;/span&gt;661617&lt;span style=""&gt;               &lt;/span&gt;sa &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;665&lt;span style=""&gt;         &lt;/span&gt;8576&lt;span style=""&gt;                 &lt;/span&gt;356531&lt;span style=""&gt;               &lt;/span&gt;jde &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;193&lt;span style=""&gt;         &lt;/span&gt;3483&lt;span style=""&gt;                 &lt;/span&gt;313031&lt;span style=""&gt;               &lt;/span&gt;userb &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:gray;"   &gt;(&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;10 row&lt;span style="color:gray;"&gt;(&lt;/span&gt;s&lt;span style="color:gray;"&gt;)&lt;/span&gt; affected&lt;span style="color:gray;"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:gray;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:gray;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:gray;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;select&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; &lt;span style="color:blue;"&gt;top&lt;/span&gt; 10 RowNumber&lt;span style="color:gray;"&gt;,&lt;/span&gt; Duration&lt;span style="color:gray;"&gt;,&lt;/span&gt; Reads&lt;span style="color:gray;"&gt;,&lt;/span&gt; LoginName&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;from&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; profiler_analysis&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;order&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; &lt;span style="color:blue;"&gt;by&lt;/span&gt; Duration &lt;span style="color:blue;"&gt;desc&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;go&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;RowNumber&lt;span style=""&gt;   &lt;/span&gt;Duration&lt;span style=""&gt;             &lt;/span&gt;Reads&lt;span style=""&gt;                &lt;/span&gt;LoginName&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:green;"   &gt;----------- -------------------- -------------------- -----------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;503&lt;span style=""&gt;         &lt;/span&gt;335213&lt;span style=""&gt;           &lt;/span&gt;&lt;span style=""&gt;    &lt;/span&gt;23&lt;span style=""&gt;                   &lt;/span&gt;JDEService &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;502&lt;span style=""&gt;         &lt;/span&gt;333026&lt;span style=""&gt;               &lt;/span&gt;631&lt;span style=""&gt;                  &lt;/span&gt;JDEService &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;485&lt;span style=""&gt;         &lt;/span&gt;257230&lt;span style=""&gt;               &lt;/span&gt;3886609&lt;span style=""&gt;              &lt;/span&gt;sa &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;528 &lt;span style=""&gt;        &lt;/span&gt;224200&lt;span style=""&gt;               &lt;/span&gt;108896&lt;span style=""&gt;               &lt;/span&gt;jde &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;831&lt;span style=""&gt;         &lt;/span&gt;203590&lt;span style=""&gt;               &lt;/span&gt;2&lt;span style=""&gt;                    &lt;/span&gt;JDEService &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;347&lt;span style=""&gt;         &lt;/span&gt;184183&lt;span style=""&gt;               &lt;/span&gt;103651&lt;span style=""&gt;               &lt;/span&gt;jde &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;532&lt;span style=""&gt;         &lt;/span&gt;181400&lt;span style=""&gt;               &lt;/span&gt;14&lt;span style=""&gt;                   &lt;/span&gt;JDEService &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;627&lt;span style=""&gt;       &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;175056&lt;span style=""&gt;               &lt;/span&gt;77320&lt;span style=""&gt;                &lt;/span&gt;jde &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;411&lt;span style=""&gt;         &lt;/span&gt;153933&lt;span style=""&gt;               &lt;/span&gt;307751&lt;span style=""&gt;               &lt;/span&gt;JDE &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;823&lt;span style=""&gt;         &lt;/span&gt;152746&lt;span style=""&gt;               &lt;/span&gt;23&lt;span style=""&gt;                   &lt;/span&gt;JDEService &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:gray;"   &gt;(&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:10;"  &gt;&lt;span style="font-size:100%;"&gt;10 row&lt;/span&gt;&lt;span style=";font-size:100%;color:gray;"  &gt;(&lt;/span&gt;&lt;span style="font-size:100%;"&gt;s&lt;/span&gt;&lt;span style=";font-size:100%;color:gray;"  &gt;)&lt;/span&gt;&lt;span style="font-size:100%;"&gt; affected&lt;/span&gt;&lt;span style="color:gray;"&gt;&lt;span style="font-size:100%;"&gt;)&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;To find the actual query for RowNumber 485 run a select statement and get the TextData column which will have the statement. The following analysis shows that the high IO and duration were due to an index being built:&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;color:blue;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;color:blue;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;select&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; RowNumber&lt;span style="color:gray;"&gt;,&lt;/span&gt; Duration&lt;span style="color:gray;"&gt;,&lt;/span&gt; Reads&lt;span style="color:gray;"&gt;,&lt;/span&gt;TextData&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;from&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; profiler_analysis&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;where&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; RowNumber &lt;span style="color:gray;"&gt;=&lt;/span&gt; 485&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;go&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;RowNumber&lt;span style=""&gt;   &lt;/span&gt;Duration&lt;span style=""&gt;             &lt;/span&gt;Reads&lt;span style=""&gt;                &lt;/span&gt;TextData&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;----------- -------------------- -------------------- ---------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;485&lt;span style=""&gt;   &lt;/span&gt;257230&lt;span style=""&gt;      &lt;/span&gt;3886609&lt;span style=""&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;create index x on CRPDTA.F4111(  ILITM,  ILLOCN,  ILLOTN,  ILKCOO,  ILDOCO,  ILDCTO,  ILLNID  )&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;The query for RowNumber 155 shows that it did 162,386 Reads for 1,330,266,112 bytes probably because the user put a wild card on the front and back of the criteria:&lt;/span&gt;&lt;span style="font-size:100%;"&gt;    &lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:red;"   &gt;F4220&lt;span style=""&gt;  &lt;/span&gt;WHERE (F4220.SWLOTN LIKE @P1)&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;   &lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:red;"   &gt;'%208547%' &lt;/span&gt;&lt;span style="font-size:100%;"&gt;And forced a table scan.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;select&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; RowNumber&lt;span style="color:gray;"&gt;,&lt;/span&gt; Duration&lt;span style="color:gray;"&gt;,&lt;/span&gt; Reads&lt;span style="color:gray;"&gt;,&lt;/span&gt;TextData&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;from&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; profiler_analysis&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;where&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; RowNumber &lt;span style="color:gray;"&gt;=&lt;/span&gt;155&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;go&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;RowNumber&lt;span style=""&gt;   &lt;/span&gt;Duration&lt;span style=""&gt;             &lt;/span&gt;Reads&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;----------- -------------------- --------------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;155&lt;span style=""&gt;         &lt;/span&gt;10186&lt;span style=""&gt;                &lt;/span&gt;162386&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;(1 row(s) affected)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:100%;color:blue;"   &gt;declare&lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt; @P1 &lt;span style="color:blue;"&gt;int&lt;/span&gt; &lt;span style="color:blue;"&gt;set&lt;/span&gt; @P1&lt;span style="color:gray;"&gt;=&lt;/span&gt;180151263 &lt;span style="color:blue;"&gt;declare&lt;/span&gt; @P2 &lt;span style="color:blue;"&gt;int&lt;/span&gt; &lt;span style="color:blue;"&gt;set&lt;/span&gt; @P2&lt;span style="color:gray;"&gt;=&lt;/span&gt;1 &lt;span style="color:blue;"&gt;declare&lt;/span&gt; @P3 &lt;span style="color:blue;"&gt;int&lt;/span&gt; &lt;span style="color:blue;"&gt;set&lt;/span&gt; @P3&lt;span style="color:gray;"&gt;=&lt;/span&gt;1 &lt;span style="color:blue;"&gt;declare&lt;/span&gt; @P4 &lt;span style="color:blue;"&gt;int&lt;/span&gt; &lt;span style="color:blue;"&gt;set&lt;/span&gt; @P4&lt;span style="color:gray;"&gt;=&lt;/span&gt;5 &lt;span style="color:blue;"&gt;exec&lt;/span&gt; sp_cursoropen @P1 &lt;span style="color:blue;"&gt;output&lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;/span&gt; N&lt;span style="color:red;"&gt;'SELECT F4220.SWSHPJ, F4220.SWLITM, F4220.SWDCTO, F4220.SWSRL2, F4220.SWDSC2, F4220.SWSRL1, F4220.SWLOTN, F4220.SWLOCN, F4220.SWAITM, F4220.SWSFXO, F4220.SWDOCO, F4220.SWAN8, F4220.SWITM, F4220.SWMCU, F4220.SWDSC1, F4220.SWLNID, F4220.SWORDJ, F4220.SWKCOO, F4220.SWVEND, F4220.SWSHAN&lt;span style=""&gt;  &lt;/span&gt;FROM PRODDTA.F4220 F4220&lt;span style=""&gt;  &lt;/span&gt;WHERE (F4220.SWLOTN LIKE @P1)&lt;span style=""&gt;  &lt;/span&gt;ORDER BY F4220.SWLITM ASC, F4220.SWLOTN ASC, F4220.SWSRL1 ASC '&lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;/span&gt; @P2 &lt;span style="color:blue;"&gt;output&lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;/span&gt; @P3 &lt;span style="color:blue;"&gt;output&lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;/span&gt; @P4 &lt;span style="color:blue;"&gt;output&lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;/span&gt; N&lt;span style="color:red;"&gt;'@P1 varchar(8000) '&lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;/span&gt; &lt;span style="color:red;"&gt;'%208547%'&lt;/span&gt; &lt;span style="color:blue;"&gt;select&lt;/span&gt; @P1&lt;span style="color:gray;"&gt;,&lt;/span&gt; @P2&lt;span style="color:gray;"&gt;,&lt;/span&gt; @P3&lt;span style="color:gray;"&gt;,&lt;/span&gt; @P4&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;span style=";font-family:'Courier New';font-size:100%;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;Summary&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The above queries collect data and roll it up into a digestable format instead of a pile of random bits. Once the DBA has the performance data they can prioritize the issues and figure out a plan of attack. For example, change the configuration of the application so users cannot put in leading wildcards that force a table scan.&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Knowing your system and where it’s issues are forms the backbone of being able to isolate and resolve performance problems. The good news is it’s to do with a small tool box.&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The key concept is to let SQL Server collect the information, and using a few simple queries shown above, show you where the exact problems exist.&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div align="right"&gt;&lt;span style="color: rgb(0, 0, 128);font-family:VERDANA;font-size:78%;"  &gt;&lt;i&gt;Powered By &lt;a href="http://www.qumana.com" target="_blank"&gt;Qumana&lt;/a&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Database + Disk + Performance&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29671182-115134820261543115?l=databasediskperf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databasediskperf.blogspot.com/feeds/115134820261543115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29671182&amp;postID=115134820261543115' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/115134820261543115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/115134820261543115'/><link rel='alternate' type='text/html' href='http://databasediskperf.blogspot.com/2006/06/finding-top-10-long-running-queries.html' title='Finding the Top 10 Long Running Queries'/><author><name>Frank McBath</name><uri>http://www.blogger.com/profile/10146096947536988139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29671182.post-115102138370415488</id><published>2006-06-22T20:09:00.000-04:00</published><updated>2006-06-24T11:45:01.350-04:00</updated><title type='text'>Disk Queue Length vs. Disk Latency Times: Which is Best for Measuring Database Performance</title><content type='html'>&lt;div&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;Introduction&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;There are several common metrics that people use to look for performance bottlenecks. They are usually:&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;-&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;font-family:'Times New Roman';font-size:85%;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Disk queue length&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-size:85%;"&gt;-&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;font-family:'Times New Roman';" &gt;         &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Disk latency/transfer times&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-size:85%;"&gt;-&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;font-family:'Times New Roman';" &gt;         &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;MB/sec&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-size:85%;"&gt;-&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;font-family:'Times New Roman';" &gt;         &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;IO/sec&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;For the rest of this note, I’ll focus on the top two.&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;Disk Queue Length&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The most common performance monitoring metric people quote is usually disk queue length. While this is important, now days it’s almost impossible to use as an accurate metric because the SAN used in an enterprise database application abstracts the DBA from a lot of the physical characteristics needed to make a reasonable judgment about what is good or bad.&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The usual “rule of thumb” for “bad performance” is a queue length greater than 2 for a disk drive. But when you have a SAN with 100 drives in the cabinet, you have no idea how many are being used for your “drive F:” for your data file.&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;For example, the DBA watches perfmon and sees the disk queue length is 10 on drive F:. While this is a big number, it’s relative. If the F: is one physical disk, yes, you have a problem. If the F: is a logical disk composed of 8 physical disks, then it’s not an issue. Why? Because 8 disks x 2 queue length = 16… and the DBA sees 10… so 10 is less than 16 (our threshold for pain)… hence there is not an issue.&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The main problem with queue length is this: very few people can ever provide me with a comprehensive disk map of their SAN showing all the logical volumes. For example, how many disks are participating in an EMC Sym hyper volume.&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The following is a very small example of what a mapping would look like. Each of the “73” are 73G disk drives. You can see multiple drives participating in the LUN (Note, this is RAID 0+1 so you see 2 73G drives making up a 59.39G formatted capacity):&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;table class="MsoNormalTable" style="margin: auto auto auto 4.9pt; width: 434pt; border-collapse: collapse;" border="0" cellpadding="0" cellspacing="0" width="579"&gt;    &lt;tbody&gt;&lt;tr style="height: 13.5pt;"&gt;    &lt;td style="border: 1pt solid windowtext; padding: 0in 5.4pt; width: 112pt; height: 13.5pt;" colspan="2" valign="bottom" width="149"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;RG0, R1,       60.39 GB&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext rgb(236, 233, 216); border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 106pt; height: 13.5pt;" colspan="2" width="141"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;RG1, R1,       60.39 GB&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext rgb(236, 233, 216); border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 1.5in; height: 13.5pt;" colspan="2" width="144"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;RG2, R1,       60.39 GB&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext rgb(236, 233, 216); border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 1.5in; height: 13.5pt;" colspan="2" width="144"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;RG3, R1,       66.61 GB&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border: medium none rgb(236, 233, 216); height: 13.5pt;" height="18" width="0"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;  &lt;tr style="height: 12.75pt;"&gt;    &lt;td style="border-style: none solid solid; border-color: rgb(236, 233, 216) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 56pt; height: 12.75pt;" width="75"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;73&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 56pt; height: 12.75pt;" width="75"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;73&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 53pt; height: 12.75pt;" width="71"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;73&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 53pt; height: 12.75pt;" width="71"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;73&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 53pt; height: 12.75pt;" width="71"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;73&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) white windowtext rgb(236, 233, 216); border-width: medium 1pt 1.5pt medium; padding: 0in 5.4pt; background: black none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 55pt; height: 12.75pt;" width="73"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;&lt;span style=";font-family:Arial;color:white;"  &gt;73&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) white windowtext rgb(236, 233, 216); border-width: medium 1pt 1.5pt medium; padding: 0in 5.4pt; background: black none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 53pt; height: 12.75pt;" width="71"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;&lt;span style=";font-family:Arial;color:white;"  &gt;73&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) white windowtext rgb(236, 233, 216); border-width: medium 1pt 1.5pt medium; padding: 0in 5.4pt; background: black none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 55pt; height: 12.75pt;" width="73"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;&lt;span style=";font-family:Arial;color:white;"  &gt;73&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border: medium none rgb(236, 233, 216); height: 12.75pt;" height="17" width="0"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;  &lt;tr style="height: 14.25pt;"&gt;    &lt;td style="border-style: none solid solid; border-color: rgb(236, 233, 216) windowtext windowtext; border-width: medium 1.5pt 1pt 1pt; padding: 0in 5.4pt; background: black none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 56pt; height: 14.25pt;" width="75"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;&lt;span style=";font-family:Arial;color:white;"  &gt;00_00&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1.5pt 1pt medium; padding: 0in 5.4pt; background: black none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 56pt; height: 14.25pt;" width="75"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;&lt;span style=";font-family:Arial;color:white;"  &gt;00_01&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1.5pt 1pt medium; padding: 0in 5.4pt; background: black none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 53pt; height: 14.25pt;" width="71"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;&lt;span style=";font-family:Arial;color:white;"  &gt;00_02&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1.5pt 1pt medium; padding: 0in 5.4pt; background: black none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 53pt; height: 14.25pt;" width="71"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;&lt;span style=";font-family:Arial;color:white;"  &gt;00_03&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1.5pt 1pt medium; padding: 0in 5.4pt; background: black none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 53pt; height: 14.25pt;" width="71"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;&lt;span style=";font-family:Arial;color:white;"  &gt;00_04&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1.5pt 1pt medium; padding: 0in 5.4pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 55pt; height: 14.25pt;" width="73"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;00_05&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1.5pt 1pt medium; padding: 0in 5.4pt; width: 53pt; height: 14.25pt;" width="71"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;00_06&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1.5pt 1pt medium; padding: 0in 5.4pt; width: 55pt; height: 14.25pt;" width="73"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;00_07&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border: medium none rgb(236, 233, 216); height: 14.25pt;" height="19" width="0"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;  &lt;tr style="height: 12.75pt;"&gt;    &lt;td style="border-style: none solid solid; border-color: rgb(236, 233, 216) black windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; background: rgb(204, 255, 255) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 271pt; height: 12.75pt;" colspan="5" width="361"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Private       System Partition&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; background: rgb(204, 255, 255) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 55pt; height: 12.75pt;" width="73"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) black black rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 1.5in; height: 12.75pt;" colspan="2" rowspan="3" width="144"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;LUN 30 (1       GB), Unallocated (65.61 GB)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border: medium none rgb(236, 233, 216); height: 12.75pt;" height="17" width="0"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;  &lt;tr style="height: 12.75pt;"&gt;    &lt;td style="border-style: none solid solid; border-color: rgb(236, 233, 216) black black windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 112pt; height: 12.75pt;" colspan="2" rowspan="2" width="149"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;LUN 0 (1       GB), Unallocated (59.39 GB)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) black black rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 106pt; height: 12.75pt;" colspan="2" rowspan="2" width="141"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;LUN 10 (1       GB), Unallocated (59.39 GB)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) black black rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 1.5in; height: 12.75pt;" colspan="2" rowspan="2" width="144"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;LUN 20 (1       GB), Unallocated (59.39 GB)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border: medium none rgb(236, 233, 216); height: 12.75pt;" height="17" width="0"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;  &lt;tr style="height: 12.75pt;"&gt;    &lt;td style="border: medium none rgb(236, 233, 216); height: 12.75pt;" height="17" width="0"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Without a map like this, disk queue length is meaningless to me. I have nothing to calculate what the queue length should be less than.&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;With regards to SQL Server, it will not let the transaction log volume have a queue length of more than 3. Thus, the DBA may never see a “problem”. The reason for this is SQL Server is trying not to swarm the disk drives and will throttle back the work to the log. Since the database follows the Write Ahead Log (WAL) protocol, if it can’t write to the log fast enough, it will not be able to write to the data volumes either… and it will slow down the whole system’s throughput. &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Per the previous posting on throughput testing, if you don’t have enough spindles to support the volume of data being pushed through the system, the whole box will slow down. This would be especially important in an enterprise app such as SAP or PeopleSoft that run large batch jobs and are writing to the transaction log constantly. &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;Disk Transfer Time&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;As you can read from above, disk queue length can be deceptive. You need a lot of information to make a good judgment.&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Disk transfer time is what the disk sub system is reporting to the operating system. It abstracts the DBA from having to know the absolute physical characteristics of the underlying disk. &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The key point is that it keeps the DBA from rat holing on a lot of very specific information that most people don’t have… namely, a comprehensive disk mapping of their SAN. It also distills a lot of other complicated measurements down to a few simple ones that mean the most.&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;For example, if I have a disk queue length of 20 on my F: drive, but my response time is less than 5ms… then everything is working great. What this probably means is that the F: drive has 20 (or more) spindles behind it or that there is massive caching taking place. &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;In the context of disk latency, the following is an example of modern performance characteristics of a SCSI disk drive:&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;•&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;font-family:'Times New Roman';font-size:85%;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Maxtor Atlas 15K II&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt 1in; text-indent: -0.25in;"&gt;&lt;span style="font-size:85%;"&gt;–&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;font-family:'Times New Roman';" &gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Ultra320 SCSI&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt 1in; text-indent: -0.25in;"&gt;&lt;span style="font-size:85%;"&gt;–&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;font-family:'Times New Roman';" &gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Average 3ms, Max 8ms&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt 1in; text-indent: -0.25in;"&gt;&lt;span style="font-size:85%;"&gt;–&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;font-family:'Times New Roman';" &gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Max Sustained 98 MB/sec&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt 1in; text-indent: -0.25in;"&gt;&lt;span style="font-size:85%;"&gt;–&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;font-family:'Times New Roman';" &gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Burst 320 MB/sec&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt 1in; text-indent: -0.25in;"&gt;&lt;span style="font-size:85%;"&gt;–&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;font-family:'Times New Roman';" &gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;8M Cache&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt 1in; text-indent: -0.25in;"&gt;&lt;span style="font-size:85%;"&gt;–&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;font-family:'Times New Roman';" &gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;15K RPM&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Source Maxtor: &lt;a href="http://www.maxtor.com/_files/maxtor/en_us/documentation/data_sheets/atlas_15kii_data_sheet.pdf"&gt;http://www.maxtor.com/_files/maxtor/en_us/documentation/data_sheets/atlas_15kii_data_sheet.pdf&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;To monitor the times: &lt;/p&gt;&lt;ol style="margin-top: 0in;" type="1"&gt;  &lt;li class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Start   Windows perfmon. &lt;/li&gt;  &lt;li class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Use   counter “Logical Disk”&lt;/li&gt;  &lt;li class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Select   “Avg Disk/Sec” and choose Read, Write or Transfer depending on what you want   to monitor. I typically choose Transfer.&lt;/li&gt;&lt;/ol&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Note, when you read the perfmon data and see a number like “.010” this means 10 milliseconds. &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Additionally, when monitoring a SAN, they often have their own perfmon counter you need to use. For example, EMC and Veritas have their own.&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;There is plenty of room for intelligent people to argue on the following data, but I use the following table to determine the meaning of the data:&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;table class="MsoNormalTable" style="margin: auto auto auto 4.65pt; width: 158pt; border-collapse: collapse;" border="0" cellpadding="0" cellspacing="0" width="211"&gt;    &lt;tbody&gt;&lt;tr style="height: 12.75pt;"&gt;    &lt;td style="border: 1pt solid windowtext; padding: 0in 5.4pt; width: 48pt; height: 12.75pt;" nowrap="nowrap" valign="bottom" width="64"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;10 ms &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext rgb(236, 233, 216); border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 48pt; height: 12.75pt;" nowrap="nowrap" valign="bottom" width="64"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;/td&gt;    &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext rgb(236, 233, 216); border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 62pt; height: 12.75pt;" nowrap="nowrap" valign="bottom" width="83"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Good&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;  &lt;tr style="height: 12.75pt;"&gt;    &lt;td style="border-style: none solid solid; border-color: rgb(236, 233, 216) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 48pt; height: 12.75pt;" nowrap="nowrap" valign="bottom" width="64"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;10 ms &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 48pt; height: 12.75pt;" nowrap="nowrap" valign="bottom" width="64"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;20 ms&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 62pt; height: 12.75pt;" nowrap="nowrap" valign="bottom" width="83"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Reasonable&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;  &lt;tr style="height: 12.75pt;"&gt;    &lt;td style="border-style: none solid solid; border-color: rgb(236, 233, 216) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 48pt; height: 12.75pt;" nowrap="nowrap" valign="bottom" width="64"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;20 ms&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 48pt; height: 12.75pt;" nowrap="nowrap" valign="bottom" width="64"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;50 ms&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 62pt; height: 12.75pt;" nowrap="nowrap" valign="bottom" width="83"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Busy&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;  &lt;tr style="height: 12.75pt;"&gt;    &lt;td style="border-style: none solid solid; border-color: rgb(236, 233, 216) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 48pt; height: 12.75pt;" nowrap="nowrap" valign="bottom" width="64"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;50 ms     +&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 48pt; height: 12.75pt;" nowrap="nowrap" valign="bottom" width="64"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;/td&gt;    &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 62pt; height: 12.75pt;" nowrap="nowrap" valign="bottom" width="83"&gt;      &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Bad&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;I have a good friend that will credibly argue that anything more than 1 ms response times is a poorly configured SAN. He has customers that get in the 250 to 500 &lt;i style=""&gt;microsecond&lt;/i&gt; responds times. &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Note, many times the performance problems are tied to firmware revisions, HBA configuration, and/or BIOS issues. &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;Summary&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;When you start focusing on response time, which is what really matters most, the queue length starts to become irrelevant. If you can get some kind of super drive that can handle everything, terrific! (Think: &lt;st1:place st="on"&gt;&lt;st1:placename st="on"&gt;Solid&lt;/st1:placename&gt; &lt;st1:placetype st="on"&gt;State&lt;/st1:placetype&gt;&lt;/st1:place&gt; RAM Drives.)&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;What the latency metric does is cut through a lot of the red tape that architects usually have. This metric gives the DBA the ability to just tell the SAN architect when they lay out the LUNs is, “Slice the disk in a way where I get 5 ms disk access times. The rest is up to you.”&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;If the database can get sustained 5ms disk access times with a heavy stress test (ex. SQLIOSTRESS) then it can probably handle the load of the user base with the app running… which is what you ultimately want for success.&lt;/p&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div align="right"&gt;&lt;span style="color: rgb(0, 0, 128);font-family:VERDANA;font-size:78%;"  &gt;&lt;i&gt;Powered By &lt;a href="http://www.qumana.com" target="_blank"&gt;Qumana&lt;/a&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Database + Disk + Performance&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29671182-115102138370415488?l=databasediskperf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databasediskperf.blogspot.com/feeds/115102138370415488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29671182&amp;postID=115102138370415488' title='51 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/115102138370415488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/115102138370415488'/><link rel='alternate' type='text/html' href='http://databasediskperf.blogspot.com/2006/06/disk-queue-length-vs-disk-latency.html' title='Disk Queue Length vs. Disk Latency Times: Which is Best for Measuring Database Performance'/><author><name>Frank McBath</name><uri>http://www.blogger.com/profile/10146096947536988139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>51</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29671182.post-115084238747879008</id><published>2006-06-20T18:26:00.000-04:00</published><updated>2006-06-20T18:26:27.483-04:00</updated><title type='text'>Disk Performance and BACKUP to NUL: Command</title><content type='html'>    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;strong&gt;Introduction&lt;/strong&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Disk drive performance and databases are directly tied to each other with backups. A full backup, by definition, will start at the beginning of a database and read all the way through to the end. In the process, it can generate a large amount of disk IO. If you have a slow disk subsystem, it can show up here. &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;As you will see in the following examples, slow backups can be an indication of overall system health and poor database architecture. &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;The following table illustrates the different IO patterns that SQL Server uses when going after data. It is possible that you can get good performance in an OLTP environment because it&amp;rsquo;s doing many small 8K IOs, and then have poor performance when running backups because it&amp;rsquo;s doing 1M IOs.&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;table class="MsoNormalTable" style="WIDTH: 374.25pt; mso-cellspacing: 0in; mso-padding-alt: 0in 0in 0in 0in" cellspacing="0" cellpadding="0" width="499" border="0"&gt;      &lt;tbody&gt;        &lt;tr style="HEIGHT: 30pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 92.25pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: 1.0pt; mso-border-left-alt: 1.0pt; mso-border-bottom-alt: .5pt; mso-border-right-alt: .5pt; mso-border-color-alt: black; mso-border-style-alt: solid" valign="bottom" width="123"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;OLTP Log&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 81pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid black 1.0pt; mso-border-alt: solid black .5pt" valign="bottom" width="108"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;Sequential&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 63.75pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid black 1.0pt; mso-border-alt: solid black .5pt" valign="bottom" width="85"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;Write&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 139.5pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: 1.0pt; mso-border-left-alt: .5pt; mso-border-bottom-alt: .5pt; mso-border-right-alt: 1.0pt; mso-border-color-alt: black; mso-border-style-alt: solid" valign="bottom" width="186"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;512 bytes - 64KB&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;        &lt;/tr&gt;        &lt;tr style="HEIGHT: 30pt; mso-yfti-irow: 1"&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 92.25pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid black 1.0pt; mso-border-alt: solid black .5pt" valign="bottom" width="123"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;OLTP Data&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 81pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt" valign="bottom" width="108"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;Random&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 63.75pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt" valign="bottom" width="85"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;R/W&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 139.5pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-right-alt: solid black 1.0pt; mso-border-alt: solid black .5pt" valign="bottom" width="186"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;8K&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;        &lt;/tr&gt;        &lt;tr style="HEIGHT: 30pt; mso-yfti-irow: 2"&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 92.25pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid black 1.0pt; mso-border-alt: solid black .5pt" valign="bottom" width="123"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;Bulk Insert&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 81pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt" valign="bottom" width="108"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;Sequential&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 63.75pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt" valign="bottom" width="85"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;Write&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 139.5pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-right-alt: solid black 1.0pt; mso-border-alt: solid black .5pt" valign="bottom" width="186"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;8K multiples to 128K&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;        &lt;/tr&gt;        &lt;tr style="HEIGHT: 30pt; mso-yfti-irow: 3"&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 92.25pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid black 1.0pt; mso-border-alt: solid black .5pt" valign="bottom" width="123"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;Read Ahead&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 81pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt" valign="bottom" width="108"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;Sequential&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 63.75pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt" valign="bottom" width="85"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;Read&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 139.5pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-right-alt: solid black 1.0pt; mso-border-alt: solid black .5pt" valign="bottom" width="186"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;8K multiples to 256K&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;        &lt;/tr&gt;        &lt;tr style="HEIGHT: 30pt; mso-yfti-irow: 4"&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 92.25pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid black 1.0pt; mso-border-alt: solid black .5pt" valign="bottom" width="123"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;Backup&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 81pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt" valign="bottom" width="108"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;Sequential&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 63.75pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt" valign="bottom" width="85"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;R/W&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 139.5pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-right-alt: solid black 1.0pt; mso-border-alt: solid black .5pt" valign="bottom" width="186"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;1MB&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;        &lt;/tr&gt;        &lt;tr style="HEIGHT: 30pt; mso-yfti-irow: 5"&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 92.25pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid black 1.0pt; mso-border-alt: solid black .5pt" valign="bottom" width="123"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;Restore&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 81pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt" valign="bottom" width="108"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;Sequential&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 63.75pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt" valign="bottom" width="85"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;R/W&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 139.5pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-right-alt: solid black 1.0pt; mso-border-alt: solid black .5pt" valign="bottom" width="186"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;64K&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;        &lt;/tr&gt;        &lt;tr style="HEIGHT: 30pt; mso-yfti-irow: 6; mso-yfti-lastrow: yes"&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 92.25pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: .5pt; mso-border-left-alt: 1.0pt; mso-border-bottom-alt: 1.0pt; mso-border-right-alt: .5pt; mso-border-color-alt: black; mso-border-style-alt: solid" valign="bottom" width="123"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;CHECKDB&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 81pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid black 1.0pt; mso-border-alt: solid black .5pt" valign="bottom" width="108"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;Sequential&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 63.75pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid black 1.0pt; mso-border-alt: solid black .5pt" valign="bottom" width="85"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;Read&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;          &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 0in; BORDER-TOP: black 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 139.5pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 30pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: .5pt; mso-border-left-alt: .5pt; mso-border-bottom-alt: 1.0pt; mso-border-right-alt: 1.0pt; mso-border-color-alt: black; mso-border-style-alt: solid" valign="bottom" width="186"&gt;            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;              &lt;span style="mso-bidi-font-weight: bold"&gt;8K - 64K&lt;/span&gt;            &lt;/p&gt;          &lt;/td&gt;        &lt;/tr&gt;      &lt;/tbody&gt;    &lt;/table&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="mso-bidi-font-weight: bold"&gt;Table: SQL Server Disk IO Access Patterns&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="mso-bidi-font-weight: bold"&gt;        &lt;p&gt;&amp;nbsp;&lt;/p&gt;      &lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="mso-bidi-font-weight: bold"&gt;Source: http://blogs.msdn.com/sqlcat/&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;One of the best reasons to use the backup command is its uniformity and simplicity. Every SQL Server has it which enables comparison between different platforms, and at the end of the backup, it summarizes for you the actual throughput so you don&amp;rsquo;t have to even calculate anything. &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;b style="mso-bidi-font-weight: normal"&gt;BACKUP to a Null Device&lt;p&gt;&lt;/p&gt;&lt;/b&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;The main purpose of a backup is an offline copy of the database for possible recovery purposes. Typically backups dump to disk or tape. In some cases, it&amp;rsquo;s beneficial to make a backup, but not store the results anywhere. For example, if you want to run through an operational process for practice&amp;hellip; or in our case, stress the disk subsystem.&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;When a backup is run, it reads from the database, and then writes to the backup media. Hence it will read then pause then read then pause when accessing the database itself. The pause to the database occurs as it&amp;rsquo;s writing to the backup media. This does not help with stress testing by putting a constant load on the system.&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;The only way to put a full load using the BACKUP command is running it with the NUL: device syntax.&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt 0.25in"&gt;Syntax:&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt 0.75in"&gt;backup database &amp;lt;db_name&amp;gt; to disk = &amp;lsquo;NUL:&amp;rsquo; with stats = &amp;lt;perc compl&amp;gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt 0.25in"&gt;Example of Usage:&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt 0.75in"&gt;backup database siebelprd to disk = &amp;lsquo;NUL:&amp;rsquo; with stats = 1&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt 0.25in"&gt;Sample Output:&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt 0.75in"&gt;Processed 1416 pages for database 'newmsdb', file 'MSDBData' on file 1.&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt 0.75in"&gt;100 percent backed up.&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt 0.75in"&gt;Processed 1 pages for database 'newmsdb', file 'MSDBLog' on file 1.&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt 0.75in"&gt;BACKUP DATABASE successfully processed 1417 pages in 0.071 seconds (163.392MB/sec).&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Backing up to the NUL: device will cause a full time read to the database without pausing to write to the backup media. &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Another issue when testing databases is caching. If the same test is run often, the results will always be in RAM hence distorting the results. By running a backup, it usually exceeds the amount of cache on the server thus helps eliminate this distortion. &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;b style="mso-bidi-font-weight: normal"&gt;Judging the Results: Bad, Good, Best&lt;p&gt;&lt;/p&gt;&lt;/b&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Once the command is run, the DBA needs to know what the results mean. The following examples were taken from customers I have worked with over the last 2 years and help illustrate what the throughput numbers mean.&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;b style="mso-bidi-font-weight: normal"&gt;Laptop Disk Drive With 36MB Database&lt;p&gt;&lt;/p&gt;&lt;/b&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;99 percent backed up.&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;100 percent backed up.&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;BACKUP DATABASE successfully processed 4473 pages in 1.172 seconds (&lt;b&gt;31.259 MB/sec&lt;/b&gt;).&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Desktop internal disk drive 3.4GB database:&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;100 percent backed up.&lt;br /&gt;BACKUP DATABASE successfully processed 425841 pages in 135.945 seconds (&lt;b&gt;25.660 MB/sec&lt;/b&gt;).&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;b style="mso-bidi-font-weight: normal"&gt;Bad&lt;p&gt;&lt;/p&gt;&lt;/b&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Customer&amp;rsquo;s 1.6TB database with 12 CPU and High End SAN RAID 1:&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;100 percent backed up. &lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;BACKUP DATABASE successfully processed 202986177 pages in 47070.773 seconds (&lt;b&gt;35.326 MB/sec&lt;/b&gt;). &lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;b&gt;        &lt;i&gt;          &lt;u&gt;This is almost the same IO as my laptop (31.259 MB/Sec)?!&lt;/u&gt;        &lt;/i&gt;      &lt;/b&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;b style="mso-bidi-font-weight: normal"&gt;Concern&lt;p&gt;&lt;/p&gt;&lt;/b&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Customer&amp;rsquo;s 87GB database with 8 CPU 32G and High End RAID 5:&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS""&gt;&amp;#12501;&amp;#12449;&amp;#12452;&amp;#12523;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; 1 &lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS""&gt;&amp;#12391;&amp;#12289;&amp;#12487;&amp;#12540;&amp;#12479;&amp;#12505;&amp;#12540;&amp;#12473;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; 'siebeldb'&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS""&gt;&amp;#12289;&amp;#12501;&amp;#12449;&amp;#12452;&amp;#12523;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; 'siebeldb_prm1' &lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS""&gt;&amp;#12398;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; 2670712 &lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS""&gt;&amp;#12506;&amp;#12540;&amp;#12472;&amp;#12364;&amp;#20966;&amp;#29702;&amp;#12373;&amp;#12428;&amp;#12414;&amp;#12375;&amp;#12383;&amp;#12290;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt;        &lt;p&gt;&lt;/p&gt;      &lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS""&gt;&amp;#12501;&amp;#12449;&amp;#12452;&amp;#12523;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; 1 &lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS""&gt;&amp;#12391;&amp;#12289;&amp;#12487;&amp;#12540;&amp;#12479;&amp;#12505;&amp;#12540;&amp;#12473;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; 'siebeldb'&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS""&gt;&amp;#12289;&amp;#12501;&amp;#12449;&amp;#12452;&amp;#12523;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; 'siebeldb_prm2' &lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS""&gt;&amp;#12398;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; 2665816 &lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS""&gt;&amp;#12506;&amp;#12540;&amp;#12472;&amp;#12364;&amp;#20966;&amp;#29702;&amp;#12373;&amp;#12428;&amp;#12414;&amp;#12375;&amp;#12383;&amp;#12290;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt;        &lt;p&gt;&lt;/p&gt;      &lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS""&gt;&amp;#12501;&amp;#12449;&amp;#12452;&amp;#12523;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; 1 &lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS""&gt;&amp;#12391;&amp;#12289;&amp;#12487;&amp;#12540;&amp;#12479;&amp;#12505;&amp;#12540;&amp;#12473;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; 'siebeldb'&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS""&gt;&amp;#12289;&amp;#12501;&amp;#12449;&amp;#12452;&amp;#12523;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; 'siebeldb_prm3' &lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS""&gt;&amp;#12398;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; 2662176 &lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS""&gt;&amp;#12506;&amp;#12540;&amp;#12472;&amp;#12364;&amp;#20966;&amp;#29702;&amp;#12373;&amp;#12428;&amp;#12414;&amp;#12375;&amp;#12383;&amp;#12290;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt;        &lt;p&gt;&lt;/p&gt;      &lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS""&gt;&amp;#12501;&amp;#12449;&amp;#12452;&amp;#12523;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; 1 &lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS""&gt;&amp;#12391;&amp;#12289;&amp;#12487;&amp;#12540;&amp;#12479;&amp;#12505;&amp;#12540;&amp;#12473;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; 'siebeldb'&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS""&gt;&amp;#12289;&amp;#12501;&amp;#12449;&amp;#12452;&amp;#12523;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; 'siebeldb_prm4' &lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS""&gt;&amp;#12398;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; 2662064 &lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS""&gt;&amp;#12506;&amp;#12540;&amp;#12472;&amp;#12364;&amp;#20966;&amp;#29702;&amp;#12373;&amp;#12428;&amp;#12414;&amp;#12375;&amp;#12383;&amp;#12290;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt;        &lt;p&gt;&lt;/p&gt;      &lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS"; mso-fareast-font-family: "Times New Roman""&gt;&amp;#12501;&amp;#12449;&amp;#12452;&amp;#12523;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; 1 &lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS"; mso-fareast-font-family: "Times New Roman""&gt;&amp;#12391;&amp;#12289;&amp;#12487;&amp;#12540;&amp;#12479;&amp;#12505;&amp;#12540;&amp;#12473;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; 'siebeldb'&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS"; mso-fareast-font-family: "Times New Roman""&gt;&amp;#12289;&amp;#12501;&amp;#12449;&amp;#12452;&amp;#12523;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; 'siebeldb_log1' &lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS"; mso-fareast-font-family: "Times New Roman""&gt;&amp;#12398;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; 47 &lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS"; mso-fareast-font-family: "Times New Roman""&gt;&amp;#12506;&amp;#12540;&amp;#12472;&amp;#12364;&amp;#20966;&amp;#29702;&amp;#12373;&amp;#12428;&amp;#12414;&amp;#12375;&amp;#12383;&amp;#12290;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt;        &lt;p&gt;&lt;/p&gt;      &lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt"&gt;BACKUP DATABASE &lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS"; mso-fareast-font-family: "Times New Roman""&gt;&amp;#12399;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; 10660815 &lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS"; mso-fareast-font-family: "Times New Roman""&gt;&amp;#12506;&amp;#12540;&amp;#12472;&amp;#12434;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; 789.876 &lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS"; mso-fareast-font-family: "Times New Roman""&gt;&amp;#31186;&amp;#12391;&amp;#27491;&amp;#24120;&amp;#12395;&amp;#20966;&amp;#29702;&amp;#12375;&amp;#12414;&amp;#12375;&amp;#12383;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt; (&lt;b&gt;110.565 MB/&lt;/b&gt;&lt;/span&gt;      &lt;b&gt;        &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS""&gt;&amp;#31186;&lt;/span&gt;      &lt;/b&gt;      &lt;span style="FONT-SIZE: 10pt"&gt;)&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Arial Unicode MS"; mso-fareast-font-family: "Times New Roman""&gt;&amp;#12290;&lt;/span&gt;      &lt;span style="FONT-SIZE: 10pt"&gt;        &lt;p&gt;&lt;/p&gt;      &lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;b style="mso-bidi-font-weight: normal"&gt;Good &lt;p&gt;&lt;/p&gt;&lt;/b&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Customer 575GB SAN:&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;100 percent backed up.&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;BACKUP DATABASE successfully processed 70246627 pages in 3540.611 seconds (&lt;b&gt;162.531 MB/sec&lt;/b&gt;).&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Microsoft Dev Database 101G with RAID10 on 146Gb 10K drive on SAN:&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;100 percent processed.&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;BACKUP DATABASE successfully processed 12376579 pages in 707.413 seconds (&lt;b&gt;143.323 MB/sec&lt;/b&gt;).&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Microsoft DSS database 28GB&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;database High End SAN 72G 15K:&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;100 percent backed up.&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;BACKUP DATABASE successfully processed 3468866 pages in 151.831 seconds (&lt;b&gt;187.161 MB/sec&lt;/b&gt;).&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Microsoft OLTP Database 2TB with 72Gb 15K drives Raid10 on SAN:&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;100 percent backed up.&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;BACKUP DATABASE successfully processed 244138625 pages in 5561.102 seconds (&lt;b&gt;359.638 MB/sec&lt;/b&gt;).&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;b style="mso-bidi-font-weight: normal"&gt;Great &lt;p&gt;&lt;/p&gt;&lt;/b&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;Processed 25342792 pages for database 'TUC', file 'data1' on file 1.&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;Processed 25215088 pages for database 'TUC', file 'data3' on file 1.&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;Processed 25215168 pages for database 'TUC', file 'data5' on file 1.&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;Processed 25214320 pages for database 'TUC', file 'data2' on file 1.&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;Processed 25214344 pages for database 'TUC', file 'data4' on file 1.&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;Processed 25215168 pages for database 'TUC', file 'data6' on file 1.&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;Processed 25213704 pages for database 'TUC', file 'data7' on file 1.&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;Processed 25214552 pages for database 'TUC', file 'data8' on file 1.&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;Processed 25215200 pages for database 'TUC', file 'data9' on file 1.&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;Processed 25214280 pages for database 'TUC', file 'data10' on file 1.&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;Processed 25214920 pages for database 'TUC', file 'data11' on file 1.&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;Processed 25321384 pages for database 'TUC', file 'data12' on file 1.&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;Processed 3 pages for database 'TUC', file 'log1' on file 1.&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: "Courier New""&gt;BACKUP DATABASE successfully processed 302810923 pages in 6010.430 seconds (&lt;b&gt;412.720 MB/sec&lt;/b&gt;).&lt;p&gt;&lt;/p&gt;&lt;/span&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;DB Size= 2,365,619Mb&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Backup time to Null:&amp;nbsp; 1 hr. 40 min.&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;b style="mso-bidi-font-weight: normal"&gt;What to Do?&lt;p&gt;&lt;/p&gt;&lt;/b&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;If you see that you are having slow throughput times (low MB/sec), the fixes are usually to add more spindles to the database and spread the load out more and/or increase bandwidth to the disk by adding faster/more controllers. &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;b style="mso-bidi-font-weight: normal"&gt;Warning!&lt;p&gt;&lt;/p&gt;&lt;/b&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;This command runs great accept under the following conditions:&lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;ol style="MARGIN-TOP: 0in" type="1"&gt;      &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in" value="0"&gt;If you run a differential backup, don&amp;rsquo;t run this command! The reason is that the differential backup picks up pages that have changed. Running the backup command resets the flag on the page. Since the backup to a NUL: device reads the page, but does not back it up to media, the flag is reset as if it HAD been backed up&amp;hellip; so the database does NOT back it up during the next differential. If you have run a backup to NUL: and do differential backups, run a FULL backup immediately and everything will be fine.&lt;/li&gt;      &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in" value="0"&gt;If you have heavy disk IO now, a backup to a NUL: device will only add more stress slowing things down more.&lt;/li&gt;      &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in" value="0"&gt;For reason #2, run this command in off hours.&lt;/li&gt;    &lt;/ol&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;b style="mso-bidi-font-weight: normal"&gt;Summary&lt;p&gt;&lt;/p&gt;&lt;/b&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Backup to a NUL: device is a handy command. It allows you to compare disk performance throughput of a laptop to a high end database server with a SAN. It&amp;rsquo;s a poor man&amp;rsquo;s stress test and doesn&amp;rsquo;t take much to setup or run&amp;hellip; or interpret the results.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It will not fix any of the problems, but hopefully show whether the database as a whole can sustain massive IO within its architecture. &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;    &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;      &lt;p&gt;&amp;nbsp;&lt;/p&gt;    &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;Database + Disk + Performance&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29671182-115084238747879008?l=databasediskperf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databasediskperf.blogspot.com/feeds/115084238747879008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29671182&amp;postID=115084238747879008' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/115084238747879008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/115084238747879008'/><link rel='alternate' type='text/html' href='http://databasediskperf.blogspot.com/2006/06/disk-performance-and-backup-to-nul_20.html' title='Disk Performance and BACKUP to NUL: Command'/><author><name>Frank McBath</name><uri>http://www.blogger.com/profile/10146096947536988139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29671182.post-115066496266621425</id><published>2006-06-18T17:08:00.000-04:00</published><updated>2006-06-18T17:09:22.713-04:00</updated><title type='text'>BOE (Back of Envelope) Method – Quick and Dirty Method for Finding High CPU Jobs</title><content type='html'>&lt;p class="MsoPlainText"&gt;&lt;o:p&gt;&lt;/o:p&gt;Situation: Your database server is sitting at 100%. There are not that many users logged into SAP doing work. Somehow, a bad plan is running and using all your resources on the computer. Problem is, you have no idea which spid(s) have the bad plan!&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;Within SQL Server it is extremely difficult to find which spid is using the most CPU. There are two methods for doing this:&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;-&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Using PERFMON, looking at the Thread Performance Object: % Processor Time, ID Process, ID Thread. Select ALL SQL threads (sqlservr/*). Then flipping it to “tabular” report format (ie. NOT the graph) and scrolling over 100 entries to find the thread that is using the most CPU time. Since a query can move from thread to thread, it’s a real tough time. Once you have the thread with the CPU, then get the ID Thread. The ID Thread is the KPID in sysprocesses. Join on this to get the SPID. Then DBCC INPUTBUFFER(spid) to see what the query is running. You can also KILL the spid, too. The ID Process is the NT PID.&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText" style="margin-left: 0.5in;"&gt;select spid&lt;/p&gt;  &lt;p class="MsoPlainText" style="margin-left: 0.5in;"&gt;from master..sysprocesses &lt;/p&gt;  &lt;p class="MsoPlainText" style="margin-left: 0.5in;"&gt;where kpid = &lt;id&gt;&lt;/p&gt;  &lt;p class="MsoPlainText" style="margin-left: 0.5in;"&gt;go&lt;/p&gt;  &lt;p class="MsoPlainText" style="margin-left: 0.5in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText" style="margin-left: 0.5in;"&gt;DBCC INPUTBUFFER(&lt;spid&gt;)&lt;/p&gt;  &lt;p class="MsoPlainText" style="margin-left: 0.5in;"&gt;go&lt;/p&gt;  &lt;p class="MsoPlainText" style="margin-left: 0.5in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;-&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;As you can see, this is a difficult process. A quick and dirty method that I use that isn’t 100% accurate, but is about 75% correct is to run the following query. The long running jobs that this query reports tend to be the ones using the most CPU time.&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText" style="margin-left: 0.5in;"&gt;CREATE proc boe_proc as&lt;/p&gt;  &lt;p class="MsoPlainText" style="margin-left: 0.5in;"&gt;select datediff(mi, last_batch,getdate())'minutes',spid, waittype, cpu, physical_io, convert(char(15),hostname), convert(char(15),program_name), convert(char(20),getdate()),spid, last_batch, cmd&lt;/p&gt;  &lt;p class="MsoPlainText" style="margin-left: 0.5in;"&gt;from master..sysprocesses&lt;/p&gt;  &lt;p class="MsoPlainText" style="margin-left: 0.5in;"&gt;where spid &gt; 50 and&lt;/p&gt;  &lt;p class="MsoPlainText" style="margin-left: 0.5in;"&gt;cmd not like '%WAIT%' and&lt;/p&gt;  &lt;p class="MsoPlainText" style="margin-left: 0.5in;"&gt;datediff(mi, last_batch,getdate()) &gt; 1&lt;/p&gt;  &lt;p class="MsoPlainText" style="margin-left: 0.5in;"&gt;order by last_batch&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;Here’s sample output, it shows the backup running and a batch job that has been going for 5 minutes app server MSSAP32 Batch Process (BTC) 20.&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;.&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;exec boe_proc&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;minutes&lt;span style=""&gt;     &lt;/span&gt;spid&lt;span style=""&gt;   &lt;/span&gt;waittype cpu&lt;span style=""&gt;         &lt;/span&gt;physical_io&lt;span style=""&gt;                                                               &lt;/span&gt;spid&lt;span style=""&gt;   &lt;/span&gt;last_batch&lt;span style=""&gt;                                             &lt;/span&gt;cmd&lt;span style=""&gt;              &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;----------- ------ -------- ----------- -------------------- --------------- --------------- -------------------- ------ ------------------------------------------------------ ---------------- &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;389&lt;span style=""&gt;         &lt;/span&gt;150&lt;span style=""&gt;    &lt;/span&gt;0x0422&lt;span style=""&gt;   &lt;/span&gt;2424729&lt;span style=""&gt;     &lt;/span&gt;6929618&lt;span style=""&gt;              &lt;/span&gt;MSSAP01&lt;span style=""&gt;         &lt;/span&gt;R3D03(3) unc rd &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;150&lt;span style=""&gt;    &lt;/span&gt;2002-05-09 11:36:02.040&lt;span style=""&gt;                                &lt;/span&gt;SELECT&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;65&lt;span style=""&gt;          &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;0x0000&lt;span style=""&gt;   &lt;/span&gt;2875&lt;span style=""&gt;        &lt;/span&gt;5756332&lt;span style=""&gt;              &lt;/span&gt;MSSAP99&lt;span style=""&gt;         &lt;/span&gt;SQLAgent - TSQL &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 17:00:03.267&lt;span style=""&gt;                                &lt;/span&gt;BACKUP DATABASE &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;65&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;0x0000&lt;span style=""&gt;   &lt;/span&gt;63828&lt;span style=""&gt;       &lt;/span&gt;5756332&lt;span style=""&gt;              &lt;/span&gt;MSSAP99&lt;span style=""&gt;         &lt;/span&gt;SQLAgent - TSQL &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 17:00:03.267&lt;span style=""&gt;                                &lt;/span&gt;BACKUP DATABASE &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;65&lt;span style=""&gt;          &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;0x0000&lt;span style=""&gt;   &lt;/span&gt;62391&lt;span style=""&gt;       &lt;/span&gt;5756332&lt;span style=""&gt;              &lt;/span&gt;MSSAP99&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;       &lt;/span&gt;SQLAgent - TSQL &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 17:00:03.267&lt;span style=""&gt;                                &lt;/span&gt;BACKUP DATABASE &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;65&lt;span style=""&gt;          &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;0x0000&lt;span style=""&gt;   &lt;/span&gt;59281&lt;span style=""&gt;       &lt;/span&gt;5756332&lt;span style=""&gt;              &lt;/span&gt;MSSAP99&lt;span style=""&gt;         &lt;/span&gt;SQLAgent - TSQL &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 17:00:03.267&lt;span style=""&gt;                                &lt;/span&gt;BACKUP DATABASE &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;65&lt;span style=""&gt;          &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;0x0000&lt;span style=""&gt;   &lt;/span&gt;29703&lt;span style=""&gt;       &lt;/span&gt;5756333&lt;span style=""&gt;              &lt;/span&gt;MSSAP99&lt;span style=""&gt;         &lt;/span&gt;SQLAgent - TSQL &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 17:00:03.267&lt;span style=""&gt;                                &lt;/span&gt;BACKUP DATABASE &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;65 &lt;span style=""&gt;         &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;0x0000&lt;span style=""&gt;   &lt;/span&gt;27984&lt;span style=""&gt;       &lt;/span&gt;5756333&lt;span style=""&gt;              &lt;/span&gt;MSSAP99&lt;span style=""&gt;         &lt;/span&gt;SQLAgent - TSQL &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 17:00:03.267&lt;span style=""&gt;                                &lt;/span&gt;BACKUP DATABASE &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;65&lt;span style=""&gt;          &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;0x0000&lt;span style=""&gt;   &lt;/span&gt;29671&lt;span style=""&gt;       &lt;/span&gt;5756333&lt;span style=""&gt;              &lt;/span&gt;MSSAP99&lt;span style=""&gt;         &lt;/span&gt;SQLAgent - TSQL &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 17:00:03.267&lt;span style=""&gt;                                &lt;/span&gt;BACKUP DATABASE &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;65&lt;span style=""&gt;          &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;0x0000&lt;span style=""&gt;   &lt;/span&gt;33641&lt;span style=""&gt;       &lt;/span&gt;5756333&lt;span style=""&gt;              &lt;/span&gt;MSSAP99&lt;span style=""&gt;         &lt;/span&gt;SQLAgent - TSQL &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 17:00:03.267&lt;span style=""&gt;                                &lt;/span&gt;BACKUP DATABASE &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;65&lt;span style=""&gt;          &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;0x0000&lt;span style=""&gt;   &lt;/span&gt;30922&lt;span style=""&gt;       &lt;/span&gt;5756333&lt;span style=""&gt;              &lt;/span&gt;MSSAP99&lt;span style=""&gt;         &lt;/span&gt;SQLAgent - TSQL &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 17:00:03.267&lt;span style=""&gt;                                &lt;/span&gt;BACKUP DATABASE &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;65&lt;span style=""&gt;          &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;0x0000&lt;span style=""&gt;   &lt;/span&gt;30859&lt;span style=""&gt;       &lt;/span&gt;5756333&lt;span style=""&gt;              &lt;/span&gt;MSSAP99&lt;span style=""&gt;         &lt;/span&gt;SQLAgent - TSQL &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 17:00:03.267&lt;span style=""&gt;                                &lt;/span&gt;BACKUP DATABASE &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;65&lt;span style=""&gt;          &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;0x0000&lt;span style=""&gt;   &lt;/span&gt;28438&lt;span style=""&gt;       &lt;/span&gt;5756333&lt;span style=""&gt;              &lt;/span&gt;MSSAP99&lt;span style=""&gt;         &lt;/span&gt;SQLAgent - TSQL &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 17:00:03.267&lt;span style=""&gt;                                &lt;/span&gt;BACKUP DATABASE &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;65&lt;span style=""&gt;          &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;0x0000&lt;span style=""&gt;   &lt;/span&gt;30703&lt;span style=""&gt;       &lt;/span&gt;5756333&lt;span style=""&gt;              &lt;/span&gt;MSSAP99&lt;span style=""&gt;         &lt;/span&gt;SQLAgent - TSQL &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 17:00:03.267&lt;span style=""&gt;                                &lt;/span&gt;BACKUP DATABASE &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;65&lt;span style=""&gt;          &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;0x0000&lt;span style=""&gt;   &lt;/span&gt;28781&lt;span style=""&gt;       &lt;/span&gt;5756333&lt;span style=""&gt;              &lt;/span&gt;MSSAP99&lt;span style=""&gt;         &lt;/span&gt;SQLAgent - TSQL &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 17:00:03.267&lt;span style=""&gt;                                &lt;/span&gt;BACKUP DATABASE &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;65&lt;span style=""&gt;          &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;0x0000&lt;span style=""&gt;   &lt;/span&gt;28719&lt;span style=""&gt;       &lt;/span&gt;5756333&lt;span style=""&gt;              &lt;/span&gt;MSSAP99&lt;span style=""&gt;         &lt;/span&gt;SQLAgent - TSQL &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 17:00:03.267&lt;span style=""&gt;                                &lt;/span&gt;BACKUP DATABASE &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;65&lt;span style=""&gt;          &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;0x0000&lt;span style=""&gt;   &lt;/span&gt;29359&lt;span style=""&gt;       &lt;/span&gt;5756334&lt;span style=""&gt;           &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;MSSAP99&lt;span style=""&gt;         &lt;/span&gt;SQLAgent - TSQL &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 17:00:03.267&lt;span style=""&gt;                                &lt;/span&gt;BACKUP DATABASE &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;65&lt;span style=""&gt;          &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;0x0000&lt;span style=""&gt;   &lt;/span&gt;30844&lt;span style=""&gt;       &lt;/span&gt;5756334&lt;span style=""&gt;              &lt;/span&gt;MSSAP99&lt;span style=""&gt;         &lt;/span&gt;SQLAgent - TSQL &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1687&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 17:00:03.267&lt;span style=""&gt;                                &lt;/span&gt;BACKUP DATABASE &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;65&lt;span style=""&gt;          &lt;/span&gt;1467&lt;span style=""&gt;   &lt;/span&gt;0x0800&lt;span style=""&gt;   &lt;/span&gt;7467502&lt;span style=""&gt;     &lt;/span&gt;12792823&lt;span style=""&gt;             &lt;/span&gt;MSSAP32&lt;span style=""&gt;         &lt;/span&gt;R3B14(3) unc rd &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1467&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 17:00:28.953&lt;span style=""&gt;                                &lt;/span&gt;SELECT&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;35&lt;span style=""&gt;          &lt;/span&gt;1333&lt;span style=""&gt;   &lt;/span&gt;0x0800&lt;span style=""&gt;   &lt;/span&gt;6006302&lt;span style=""&gt;     &lt;/span&gt;13123578&lt;span style=""&gt;             &lt;/span&gt;MSSAP31&lt;span style=""&gt;         &lt;/span&gt;R3B17(3) unc rd &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1333&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 17:30:26.043&lt;span style=""&gt;                                &lt;/span&gt;SELECT&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;5&lt;span style=""&gt;           &lt;/span&gt;1503&lt;span style=""&gt;   &lt;/span&gt;0x0208&lt;span style=""&gt;   &lt;/span&gt;643300&lt;span style=""&gt;      &lt;/span&gt;6526323&lt;span style=""&gt;       &lt;/span&gt;&lt;span style=""&gt;       &lt;/span&gt;MSSAP32&lt;span style=""&gt;         &lt;/span&gt;R3B20(3) unc rd &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1503&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 18:00:30.493&lt;span style=""&gt;                                &lt;/span&gt;SELECT&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;5&lt;span style=""&gt;           &lt;/span&gt;1503&lt;span style=""&gt;   &lt;/span&gt;0x0404&lt;span style=""&gt;   &lt;/span&gt;8078&lt;span style=""&gt;        &lt;/span&gt;6526323&lt;span style=""&gt;              &lt;/span&gt;MSSAP32&lt;span style=""&gt;         &lt;/span&gt;R3B20(3) unc rd &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1503&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 18:00:30.493&lt;span style=""&gt;                                &lt;/span&gt;SELECT&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;5&lt;span style=""&gt;           &lt;/span&gt;1503&lt;span style=""&gt;   &lt;/span&gt;0x0422&lt;span style=""&gt;   &lt;/span&gt;8031&lt;span style=""&gt;        &lt;/span&gt;6526323&lt;span style=""&gt;              &lt;/span&gt;MSSAP32&lt;span style=""&gt;         &lt;/span&gt;R3B20(3) unc rd &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1503&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 18:00:30.493&lt;span style=""&gt;                                &lt;/span&gt;SELECT&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;5&lt;span style=""&gt;           &lt;/span&gt;1503&lt;span style=""&gt;   &lt;/span&gt;0x0404&lt;span style=""&gt;   &lt;/span&gt;8000&lt;span style=""&gt;        &lt;/span&gt;6526323&lt;span style=""&gt;              &lt;/span&gt;MSSAP32&lt;span style=""&gt;         &lt;/span&gt;R3B20(3) unc rd &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1503&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 18:00:30.493&lt;span style=""&gt;                                &lt;/span&gt;SELECT&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;5&lt;span style=""&gt;           &lt;/span&gt;1503&lt;span style=""&gt;   &lt;/span&gt;0x0404&lt;span style=""&gt;   &lt;/span&gt;7453&lt;span style=""&gt;        &lt;/span&gt;6526323&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;           &lt;/span&gt;MSSAP32&lt;span style=""&gt;         &lt;/span&gt;R3B20(3) unc rd &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1503&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 18:00:30.493&lt;span style=""&gt;                                &lt;/span&gt;SELECT&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;5&lt;span style=""&gt;           &lt;/span&gt;1503&lt;span style=""&gt;   &lt;/span&gt;0x0404&lt;span style=""&gt;   &lt;/span&gt;7906&lt;span style=""&gt;        &lt;/span&gt;6526323&lt;span style=""&gt;              &lt;/span&gt;MSSAP32&lt;span style=""&gt;         &lt;/span&gt;R3B20(3) unc rd &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt; &lt;span style=""&gt; &lt;/span&gt;1503&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 18:00:30.493&lt;span style=""&gt;                                &lt;/span&gt;SELECT&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;5&lt;span style=""&gt;           &lt;/span&gt;1503&lt;span style=""&gt;   &lt;/span&gt;0x0404&lt;span style=""&gt;   &lt;/span&gt;7750&lt;span style=""&gt;        &lt;/span&gt;6526323&lt;span style=""&gt;              &lt;/span&gt;MSSAP32&lt;span style=""&gt;         &lt;/span&gt;R3B20(3) unc rd &lt;st1:date year="2002" day="9" month="5" st="on"&gt;May&lt;span style=""&gt;  &lt;/span&gt;9 2002&lt;/st1:date&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;st1:time minute="5" hour="18" st="on"&gt;6:05PM&lt;/st1:time&gt;&lt;span style=""&gt;  &lt;/span&gt;1503&lt;span style=""&gt;   &lt;/span&gt;2002-05-09 18:00:30.493&lt;span style=""&gt;                                &lt;/span&gt;SELECT&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style="font-size: 6pt;"&gt;(26 row(s) affected)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Database + Disk + Performance&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29671182-115066496266621425?l=databasediskperf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databasediskperf.blogspot.com/feeds/115066496266621425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29671182&amp;postID=115066496266621425' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/115066496266621425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/115066496266621425'/><link rel='alternate' type='text/html' href='http://databasediskperf.blogspot.com/2006/06/boe-back-of-envelope-method-quick-and.html' title='BOE (Back of Envelope) Method – Quick and Dirty Method for Finding High CPU Jobs'/><author><name>Frank McBath</name><uri>http://www.blogger.com/profile/10146096947536988139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29671182.post-115066215683189509</id><published>2006-06-18T16:22:00.000-04:00</published><updated>2006-06-18T16:54:48.556-04:00</updated><title type='text'>McBath's Oil Argument</title><content type='html'>&lt;p class="MsoNormal"&gt;McBath’s Oil Argument&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The argument postulates that when you change the oil in your car, do you notice it going any faster? Probably not… but does your car know the difference? Definitely. If you don’t change the oil, the car’s engine will seize up.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Databases are the same. Any system can run with bad queries and a few users with brute force, but it will fail to scale. By tuning your system, you are changing your database’s “oil” and will get more users and more throughput from the same hardware. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;  &lt;/p&gt;&lt;p class="MsoNormal"&gt;For example, by repacking a database page from 80% full to 100% full you will go from 5 reads to 4 reads for the same amount of data. While you can’t even blink your eyes that fast, the aggregate effect is that a long running batch job that iterates on this small query will run 20% faster—and on a long payroll job, this can be significant and measured in hours saved.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Another example… It’s easy to find the few long running queries. I’m usually not scared of those. They are easy to locate with Profiler. What I am scared of is the query being run 10,000 times a day that is going very fast (sub-second), but doing more IO than it needs to. The aggregate of this common query can consume a lot of resources over time. If I can find those queries, then I can free up more disk and CPU resources for other needs. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;I’ll use McBath’s Oil Argument fairly often when writing in the future.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Database + Disk + Performance&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29671182-115066215683189509?l=databasediskperf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databasediskperf.blogspot.com/feeds/115066215683189509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29671182&amp;postID=115066215683189509' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/115066215683189509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/115066215683189509'/><link rel='alternate' type='text/html' href='http://databasediskperf.blogspot.com/2006/06/mcbaths-oil-argument.html' title='McBath&apos;s Oil Argument'/><author><name>Frank McBath</name><uri>http://www.blogger.com/profile/10146096947536988139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29671182.post-115030424951268124</id><published>2006-06-14T12:49:00.001-04:00</published><updated>2006-06-14T13:58:06.346-04:00</updated><title type='text'>Oracle: RAC Content on Windows 2003 64 bit</title><content type='html'>A few weeks ago, Microsoft gave a free three day workshop on Oracle RAC running on Windows 2003 64 bit.  The workshop was recorded along with the slide decks and posted at the following site:&lt;br /&gt;&lt;br /&gt;http://www.microsoft-oracle.com/technical_content/oracle/workshops.aspx&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The bulk of Oracle's materials cover Linux and RAC. This was really the first time all of it has been comprehensively put together in one spot covering Oracle 10g &amp; Windows 2003.&lt;br /&gt;&lt;br /&gt;There's also some side stories in the presentation that cover Windows 2003 &amp;amp; iSCSI. The course materials cover how to install Oracle RAC on Windows 2003 iSCSI with Microsoft's new aquisition of String Bean.&lt;br /&gt;&lt;br /&gt;Additionally, Jim Olsen, Sr. Director of Oracle Enterprise Technology Center, gives an excellent introduction to Oracle's vision on grid computing and database server technology. He discusses Real Application Clustering concepts in depth (how they provide scalability and high availability). Oracle's commitment to Windows Server, and Oracle and Microsoft interoperability and partnership are also discussed.&lt;div class="blogger-post-footer"&gt;Database + Disk + Performance&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29671182-115030424951268124?l=databasediskperf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databasediskperf.blogspot.com/feeds/115030424951268124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29671182&amp;postID=115030424951268124' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/115030424951268124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/115030424951268124'/><link rel='alternate' type='text/html' href='http://databasediskperf.blogspot.com/2006/06/oracle-rac-content-on-windows-2003-64.html' title='Oracle: RAC Content on Windows 2003 64 bit'/><author><name>Frank McBath</name><uri>http://www.blogger.com/profile/10146096947536988139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29671182.post-115023429835986777</id><published>2006-06-13T17:26:00.000-04:00</published><updated>2006-06-14T10:56:49.493-04:00</updated><title type='text'>Inaugural Post: The Mission</title><content type='html'>The purpose of this blog is to facilitate the exchange of ideas between people regarding databases and how disk drives interact with them in a high performance, available, and scalable way.&lt;br /&gt;&lt;br /&gt;While this mandate sounds very dry and technical... which it is... there really seems to be no central clearing house specifically around this area. There's plenty of information about databases and plenty around disk perf and SANs... very little intersects with practical daily application, and when you can find it... it's buried in a white paper on a vendor's website.&lt;br /&gt;&lt;br /&gt;My basic approach is that everyone has a database and everyone has performance problems... and you can only go as fast as your slowest part... usually your disk. I'd like to cover the technical issues, tools, balanced system design and methodologies around isolating and resolving these issues.&lt;br /&gt;&lt;br /&gt;In particular, my area of interest is around database/disk performance with large enterprise applications. For example, SAP, PeopleSoft, Siebel, and JD Edwards.&lt;br /&gt;&lt;br /&gt;This blog will hopefully help make matters clear as to how these all these parts work together.&lt;br /&gt;&lt;br /&gt;Please let me know how I can make this blog work for you better.&lt;br /&gt;&lt;br /&gt;Best-&lt;br /&gt;Frank&lt;div class="blogger-post-footer"&gt;Database + Disk + Performance&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29671182-115023429835986777?l=databasediskperf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databasediskperf.blogspot.com/feeds/115023429835986777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29671182&amp;postID=115023429835986777' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/115023429835986777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29671182/posts/default/115023429835986777'/><link rel='alternate' type='text/html' href='http://databasediskperf.blogspot.com/2006/06/inaugural-post-mission.html' title='Inaugural Post: The Mission'/><author><name>Frank McBath</name><uri>http://www.blogger.com/profile/10146096947536988139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry></feed>
