As you may or may not know, Windows Server 2008 makes a great workstation OS. Version R2, which is based on Windows 7, is even better. But there are some things that need to be done in order to make the default install more desktop friendly.
The aptly named http://www.win2008r2workstation.com/ is an excellent starting point and comprehensive guide to the most common tweaking options. But there are a few things that are hidden away in the forums or omitted entirely that could give you major headaches if you don’t catch them – especially if you’re using an Intel Core i5/i7 processor or connecting to a NAS on your LAN.
CPU Performance with Core i5 and Core i7 Processors
One of the great new features in some Core i5 and all i7 processors is called Turbo Boost. It’s basically an automatic overclock that increases the CPU clock if only 1 or 2 of the 4 cores are being loaded. In other words, it speeds up apps that are not highly multi-threaded. Problem is, on a new 2008 R2 install the OS won’t allow it regardless of whether you’ve enabled it in the BIOS. You can use a program called TMonitor to see how Turbo Boost is working.
Fortunately it’s an easy fix: In Control Panel > System and Security > Power Options, you simply need to switch the power plan from Balanced to High Performance. The interesting thing is that none of the power plan settings directly affect this – so it’s something behind the scenes that is controlling the power state of the processor.
I would then recommend changing the advanced settings on the High Performance plan to match those on the Balanced plan. For example: Change the minimum processor state from 100% to 5% – it will ensure that the CPU throttles back on idle to save power.
Enabling Fast LAN File Transfer Throughput
This is a bit of strange one, because I’m not sure why LAN throughput is so terrible right out of the box with Windows 2008 Server (R2) – maybe it has something to do with server vs desktop NICs… Regardless, the download transfer rate from my NAS over my 1000Mbps LAN was about 20-25MBps whereas my NAS (Synology DS110j) is capable of closer to 80-100MBps.
Here’s the tweaks I’ve found that give the best performance:
Disable any “offloading” on the network interface hardware.
- Open the Network and Sharing Center
- Click Change adapter settings
- Right click the network adapter you’re using and choose Properties
- Click Configure…
- Open the Advanced tab
- Find any items that have the word “offload” in their name and change those items to Disabled
- Optional: While you’re here, enable jumbo frames if your router supports it. Remember: the frame size you set on your NIC has to be the same as the setting on your router! I’ve found that 4K frames work best.
Disable the Windows TCP stack “features”
- Open a command prompt with admin priviledges
- Disable TCP auto-tuning:
netsh interface tcp set global autotuning=disabled
- Disable TCP chimney:
netsh int tcp set global chimney=disabled
- Disable NetDMA
Set this registry value (DWORD) to “0” (zero):
(You may need to create the EnableTCPA value if it’s not already there)
Once that’s all done, reboot and run this command to verify the settings:
> netsh int tcp show global
TCP Global Parameters ---------------------------------------------- Receive-Side Scaling State : enabled Chimney Offload State : disabled NetDMA State : disabled Direct Cache Acess (DCA) : disabled Receive Window Auto-Tuning Level : disabled Add-On Congestion Control Provider : ctcp ECN Capability : disabled RFC 1323 Timestamps : disabled
If that all looks good, you should be good to go! Please post your reults in the comments and let me know if these settings worked for you.
Some helpful related links: