Summarizing Performance issues and workarounds after migrating from 2005 to 2008 R2 [SQL Server]

October 27th, 2010 by OZ | No Comments | Filed in Database, SQL Server

Based on our experience, having Hyper Threading (HT) enabled on one particular node let to I/O operations take a very long time. This was on a Windows 2008 R2 Cluster running SQL Server 2008 R2. An interesting fact was that it was neither reflected in the wait stats nor in the pssdiag we ran for Microsoft support.

The way we noticed low I/O was just by watching the OS counters for physical disk. I wrote about it here and here.

After fixing the issue by disabling HT, we started experiencing a very high CPU utilization due to a excessive amount of logical reads (20 million per query). This was due to a really bad plan. Our processes were performing anti-semi joins with tables that were partitioned and  the code that was performing extremely bad in 2008 R2 while doing just fine in 2005. I wrote about it here.

We pinpointed it out by running Adam Machanic’s sp_whoisactive while under high load  (which can be downloaded from here).

We also ran server side traces to find out the most expensive operations by sorting the highest I/O and CPU utilization metrics.

With the steps above we were able to tune the offending processes and go from 85% sustained CPU utilization to almost nil.

High CPU Utilization

Share

Tags: , , , ,

Query Performance Issue in SQL Server 2008 R2

September 22nd, 2010 by OZ | 1 Comment | Filed in Database, SQL Server

We migrated from SQL Server 2005 X86 to SQL Server 2008 R2 X64 a couple of weeks ago. The new hardware has twice as much RAM, much better I/O and CPU power to spare. I have discussed about the first issues we encountered with Hyper-Threading enabled here.

(more…)

Share

Tags: , , , , , ,

site tracking with Asynchronous Google Analytics plugin for Multisite by WordPress Expert at Web Design Jakarta.