Thursday, August 03, 2006

Windows Server 2003 Server Service Optimization

I have been looking at a lot of Windows Server 2003 configurations lately to audit the dev, test, uat, and prod environments for my company. One of the things that seems like a holdover from the NT4 days is tuning the Server service. You get to this configuration in W2K3 from Start-Control Panel-Network Connections-Properties on Local Area Connection. Then select File and Printer Sharing for Microsoft Networks and click the Properties button. I could put some screenshots together, but I am being lazy :) Anyway, you get 4 choices for Optimization:
  • Minimize memory used
  • Balance
  • Maximize data throughput for file sharing - the Default
  • Maximize data throughput for network applications
There is also a checkbox to Make browser broadcasts to LAN manager 2.x clients, I have never used this box. Tuning this service used to be one of the first things you did in NT4 when not using the box as a file server, but more and more, I see it being left in its default configuration (noted above). I think people expect that you shouldn't have to do this anymore, after all, you did you the Manage Your Server wizard to configure your server roles right? Unfortunately, you still have to change this one by hand, and for Exchange, SQL Server, and IIS you want to choose Maximize data throughput for network applications. Click on this link to see Microsoft's description of how the kernel is tuned based on this setting, but the short version is anything but the default does the same thing, makes the file system cache a fixed 8 MB (instead of being capable of expanding to physical memory limits) and makes the memory manager more aggressive about moving memory pages out of physical memory, which is better for apps that manage their own memory caches.