Windows Server 2003 Service Pack 2 provides performance improvement for SQL Server 2005…


Windows Server 2003 Service Pack 2 provides performance improvement for SQL Server 2005 under intensive workloads. Service Pack 2 installation installs these improvements by default (http://www.microsoft.com/technet/windowsserver/sp2/overview.mspx).


 


Two major improvement are introduced:


1.    Fix to help those SQL workloads that show a high kernel time and at least some of it is due to network traffic.  The optimization fixes a bug within the sockets API where Winsock would signal an internal event even if SQL didn’t provide it one and nobody was waiting on that. Signalling that event would cause a dispatch event that required holding the system wide dispatch lock. This lead to unnecessary spinlocks and excessive kernel time.  The fix was to introduce a new sockopt called FO_SKIP_SET_EVENT, which indicates to the socket API that it’s unnecessary to wait and signal on the internal event.


This specific issue came up with Winsock IO, where during data-sends on a SAP workload, the data-sends always ended up taking the fast-IO path, and the IO always completed inline with STATUS_SUCCESS. Removing the redundant KeSetEvent on this path gave us 7% back! This turned out to be a huge win for SQL Server 2005.


 


2.    Timer processing in Windows is performed at DISPATCH_LEVEL on CPU #0 and requires the Dispatch Lock, so it can have significant performance impact on enterprise systems running heavy loads.  In 64-bit Windows Server 2003 SP1 and x64, an optimization to break up timer processing into batches contains a well-hidden bug.  A simple code change produces a 30% increase in tpmC on a 32-socket NUMA Intel x64 system.

Comments (2)

  1. Anonymous says:

    Non ce n’est pas une erreur de post. Le Service Pack 2 de Windows 2003 intègre des améliorations permettant

  2. Anonymous says:

    The two big items mentioned: 1. Fix to help those SQL workloads that show a high kernel time and at least some of it is due to network traffic. The optimization fixes a bug within the sockets API where Winsock would signal an internal event even if

Skip to main content