Incorrect Bios Settings Can Reduce Database Performance [SQL Server]

Sam Saffron commented on my blog post asking me if I could share my thoughts on an issue he was experiencing. This was on a newly migrated SQL Server 2008 R2 database solution running on Nehalem Processor based CPUs. I went ahead and shared what I experienced in my environment.

It turned out that the issue was not Hyper Threading related, but a Bios misconfiguration instead. This is an excerpt of his blog post:

In the process of asking the question and researching it ourselves, we discovered the answer. These Dell servers were inexplicably shipped with BIOS settings that …

  • did not allow the host operating system to control the CPU power settings
  • did not set the machine to high performance mode
  • did not scale CPU speed under load properly

… kind of the worst of all worlds. But Kyle quickly flipped a few BIOS settings so that the machine was set to “hyperspeed mode”, and performance suddenly got a lot better. How much better?

A conclusion of this experience, check for Bios Configurations. Dell needs to tell their customers which settings can be beneficial for certain applications, like SQL Server.

SD Card unexpectedly removed [Android]

Today while I was trying to take a picture of my son wearing his costume with my new HTC G2, got the error message “SD Card unexpectedly removed”. I asked myself: how is that possible if the card is inside and even behind the battery.

Before I continued trying, decided to turn off the phone, extract the card, clean the contacts and try again. Everything went well until 20 minutes later; I got the same error again.

I performed the process again, this time thoroughly cleaning the pins on both the G2 and the SD card. I was able to record my son’s parade and even upload to YouTube, but yet again the error message came up once more.

Searched on Google, called a friend and even called T-Mobile to see if there was any known issue. Didn’t get too much help so I went ahead and performed a CheckDisk with repairs (while plugged in to the USB port of my PC). I thought it was fixed after it, but minutes later, again the issue reoccurred.

I decided to use a MicroSD adapter, plugged into my computer, tried to save whatever I could from the latest pictures and videos I took (luckily it was just 2 weeks worth) and formatted it like 3 times. I did not choose a quick format option just to ensure that all blocks get touched.

All good? No. Seems that the card is bad. Called T-Mobile, called, HTC, there are no replacement cards for the HTC G2 yet. What? It is a universal card! But no, HTC says that I need to call when they get stock parts for the HTC G2.

I guess I am out of luck on this one. I will need to buy another card.

Luckily, all the previous contents were safely backed up to the cloud.

Editing a Profile in MSDN Social Forums returns “Sorry, we were unable to service your request. Please try again later.” [MSDN]

I was unable to post a question, reply or even edit my profile for over a month. Microsoft support took that long to send me this workaround.

After following this process, I was able to gain access to the forums.

This is an exact copy of what Microsoft Support sent me:

1. Open http://msdn.microsoft.com/en-us/library/ff361664.aspx

2. Sign In (with the account which is giving problem)

3. Select preferences from on masthead

4. Select classic version, save, takes back to previous page

5. Scroll down to community content section

6. Your display name shows up on below community content section, looks like below

7. Click your display name, takes to edit page. Edit display name and save, looks like below

8. Re-login from Forums application (if still seeing the issue, wait for couple of hours and retry again).

Summarizing Performance issues and workarounds after migrating from 2005 to 2008 R2 [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