Improving Windows server performance

In general, use the default settings for your Microsoft Windows server. However, there are some measures you can take which may result in performance improvements.

  • Take care of fragmented disks. Run a defragmenter utility frequently on your disks, including the OS disk to prevent performance degradation. Do this weekly on busy disks. You can use the defragmenter that ships with Windows, or use a defragmenter that automatically runs on a number of systems at specified intervals.
  • If possible, use a separate page file disk array of at least two disks. Placing the page file on a separate disk array increases performance for the page file and prevents any bottlenecks due to the page file residing on single or slow disk. You can also format your disk array for the page file to RAID 0.
  • For the storage subsystem attached to your server, the RAID arrays should consist of as many disk spindles as possible. For example, a large array with two disk spindles is typically not sufficient, but a large array of six - eight disk spindles, depending on your environment, is best for disk storage performance. For more details, see the related information.
  • Optimize performance for applications or background services.
    • Windows -- In the Control Panel, select System - Advanced - Performance Options and select Background services.
    • Use the NTFS file system (NT File System). The NTFS file system has significant performance advantages over FAT or FAT32. For best performance, format the disks with a cluster size of at least 4KB. Use a cluster size that is a little larger than the average file size on the disk. NTFS supports these sizes: 512, 1024, 2048, 4096, 8192, 16KB, 32KB, and 64KB. For example, to use a 16KB allocation size for formatting the NTFS volumes, at the command prompt enter (format <drive>:/fs:ntfs/A:16K).
  • RAID sets. When setting up data disk RAID sets, set the stripe size to be approximately equal to the average logical disk transfer per second measured in Perfmon for the typical workload for the server. Set the cache write policy to write back. Set the cache read policy to read ahead.
  • Balance the I/O bandwidth for each PCI bus. Distribute the network adapters and RAID controller across multiple buses if your server has them. Do not put the RAID controller on a bus that has a network adapter.
  • Use LargeSystemCache. Windows has this disk-I/O cache. The default setting favors file sharing. This uses more memory than the other settings. If server memory is a bottleneck, set the cache to favor network applications, or, in extreme cases, set it to minimize memory. Otherwise, leave the default setting.

    To change the setting in Windows, go to the Control Panel, click the Network and Dial up Connections icon, click Local Area Connection. Right-click on the properties for a network connection, and click File And Printer Sharing for Microsoft Networks.

    Choose one of the following:

    • Maximize data throughput for file sharing
    • Maximize data throughput for network applications
    • Minimize memory used