When facing database performance problems, most DBAs investigate the database's design, make sure they've created the right indexes, and look at optimizing their SQL queries and stored procedures. If all that fails, they might move into the area of hardware and check performance counters to see whether the system is functioning as expected and to look for unexpected bottlenecks. One aspect of database performance that DBAs rarely consider is the OS itself. Because the OS ultimately handles all I/O requests, it plays a crucial role in overall database performance.
All versions of Windows Server—the new Windows Server 2003, Windows 2000, and Windows NT 4.0—are built from the same basic kernel, but they're not all equal in terms of performance. Each successive version of the Windows Server product has provided better performance in areas that directly influence database performance, such as process management, I/O management, and networking.
With Windows Server 2003, Microsoft significantly improved all these areas. Enhancements to key system locks enable better process scheduling and memory management. Microsoft also added the ability to take advantage of the hyper-threading capability of Intel's Pentium 4 line of processors. Microsoft optimized Windows Server 2003's I/O path and boosted disk I/O performance so that the version can provide 35 percent more I/O throughput with at least a 30 percent lower associated CPU utilization.
In addition to these OS-kernel improvements, Microsoft substantially enhanced the network stack. Windows Server 2003 provides 25 percent faster TCP/IP send performance, and the OS can now dynamically adjust the TCP window size based on the available media speed. Windows Server 2003 also boosts the high end of the hardware spectrum by supporting 32 processors with up to 64GB of RAM on the x86 platform and 64 processors with up to 512GB of RAM on the IA-64 platform. According to Microsoft's performance measurements, the cumulative effect of these Windows Server 2003 OS improvements is a dramatic two-fold increase in overall system performance.
One look at the recent TPC-C benchmark scores, available at the Transaction Processing Performance Council (TPC) Web site (http://www.tpc.org), shows Microsoft's clear choice of OS for database performance. All the recent top TPC-C scores that Microsoft has posted for SQL Server have used Windows Server 2003.
If you're running SQL Server on Win2K or NT and you're looking for better database performance, consider upgrading to Windows Server 2003. For most installations, the upgrade will deliver immediate database-performance benefits without requiring you to do any database or application tuning—or any hardware upgrades. Although it might not be first on your list of areas to tweak, the OS might be one of the most effective and most overlooked components of database performance.