Performance Monitor and Wait Events Presentation with Quest

Quest Software is a great partner with Microsoft, and I’m honored to be able to present with Brent Ozar, Kevin Kline and Ari Weil at a day-long event that you can attend for free. We’re going to cover many aspects of performance tuning, from waits and queues to the Windows System Monitor, which you might…


My Performance Tuning Methodology

I was speaking with some folks yesterday about tuning a system, and they asked me about my methodology. As time goes on, I find myself doing things differently based on the situation, but there is a general approach I use that I’ll explain here. This isn’t a hard-and-fast rule; it’s just a guideline I use…


The Windows Page File and SQL Server

What is the best “Page File” size for a Windows system running SQL Server? I see this question over and over – and I see people answering it incorrectly all the time. Note: I’m talking specifically about 64-bit architectures here. The information is different for 32-bit architectures, but I’ll blog about that at another time….


Performance-Driven Development

I was reading a blog yesterday about the evils of SELECT *. The author pointed out that it’s almost always a bad idea to use SELECT * for a query, but in the case of SQL Azure (or any cloud database, for that matter) it’s especially bad, since you’re paying for each transmission that comes…


PowerShell Version Two – Get Continuous Perf Counters

In version 2.0 of PowerShell, you can now use a direct command-let (get-Counter) to get at the Performance Monitor counters. For instance, to show the current value of the Processor Percent Time, use this command:  Get-Counter ‘\Processor(*)\% Processor Time’    The interesting part of get-Counter is that you can add a parameter at the end to…


The SQL Server Health Check

My friend Brent Ozar, who is a top-notch SQL Server Professional, mentioned on his blog ( that he brought in Microsoft Support to do a “Health Check”. There were some questions about what this actually entails – so I thought I would post that description here. A SQL Server Health Check from Microsoft is an…


Hovering Over the Titles in Activity Monitor

I show this little-known feature in just about every perf tuning class I give, and it’s often a surprise to most of the folks there. It’s not earth-shattering or anything, but I do find it helpful. In SQL Server Management Studio 2008, start the new Activity Monitor. Open one of the “Bands”, such as “Processes”….


Performance Tuning Methodology Preferences

I’m holding Performance Tuning Workshops this week for my clients in Washington and Idaho. During that workshop, I explain that there are several ways to examine the SQL Server component of an application. There’s “Hardware Component Pressure Measurement”, “Code Optimization” and “Index Analysis” as starting points, and most folks start there and then move on…


Performance Counters? There’s a script for that.

It’s not hard to get Performance Monitor counters in PowerShell 1.0, and it’s REALLY easy in 2.0. This is one I used yesterday to monitor network bytes in and out on 2.0 (keep all of the green lines in this post on the same line) : get-counter -Counter "\Network Interface(*)\Bytes Total/sec" -SampleInterval 1 -MaxSamples 10…