Server 2008 R2 Advanced Network features causing issues with network performance

I have recently encountered some issues around network performance on two sites where the core network has been replaced/upgraded with new servers consisting of Windows Server 2008 R2 and Hyper-V R2 elements. Users complained of fairly random and intermittent issues of long delays when saving items from network shares or traversing through file shares.

Initially I had investigated the issues at a client level but had limited success with the issue re-occurring sometimes only a few days later with any changes made.

After eliminating several factors in both sites, including introducing new PC’s/Laptops and network switches swapped out with new gigabit ones etc with the same results I discussed the issue with the senior engineering team at work.

Long story short, the idea of disabling the advanced networking features introduced in Server 2008 R2.

This includes:

  • TCP Chimney Offload on both the operating system and the network card
  • Receive-Side Scaling (RSS)
  • NetDMA (Note – NetDMA is not essential as part of this process and may not change the outcome or have a limited effect)

To disable the items appropriately, it needs to be carried out on both the HOST and GUEST operating system if you are experiencing the issue on a Hyper-V implementation.

Open and command prompt window and the affected server(s) and type the following commands followed by the ENTER key after each line.

netsh int tcp set global chimney=disabled
netsh int tcp set global rss=disabled
netsh int ip set global taskoffload=disabled
netsh int tcp set global autotuninglevel=disabled

Once completed you can confirm the status of your Advanced Network features by typing.

netsh int tcp show global

It is also a good idea to confirm the Network Offload options have all been disabled on your network card(s) as they will vary on the manufacturer and model. Below is an example or what you are looking for to ensure they are set to ‘Disabled’

Network Offload options to be Disabled.

To disable NetDMA, follow these steps:

  1. Click Start, click Run, type regedit, and then click OK.
  2. Locate the following registry subkey, and then click it:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. Double-click the EnableTCPA registry entry.
    Note If this registry entry does not exist, right-click Parameters, point to New, click DWORD Value, type EnableTCPA, and then press ENTER.
  4. To disable NetDMA, type 0 in the Value data box, and then click OK.
  5. If the EnableTCPA registry entry does not exist, enable the NetDMA functionality.

Enable VT on your Sony Vaio

If you have a Sony Vaio notebook that pre-dates the Windows 7 release era, you may notice that even if you have the right CPU that is ready for Virtualization (VT for Intel) , Sony have been kind enought to have it permanently disabled!

Since my laptop is relatively new still but it predates the Windows 7 laptops I figured there must be some kind of workaround for this because I want to Virtualize damnit! 

So I started researching around and found a clever guy by the name of Levicki has managed to make a patch for Sony Vaio’s using the AMI Aptio EFI BIOS which can be found here

Unfortunately my laptop is running a Phoenix BIOS system so this wasn’t of help in my situation but I found other various articles indicating it was possible on a Phoenix BIOS too. So without further delay, here is the successful method I have used on my VGA-SZ583N laptop.

Disclaimer: Although this is a fairly simple task, I take no responsibility should anything go wrong, so try this at your own risk.

This method only applies to VAIOs with a Phoenix BIOS and CPUs that support VT-x.
Before you attempt this modification, make sure that the BIOS on your SZ is updated to these versions: R0112N0 for Napa SZs or R0122S5 for Santa Rosa SZs (this can be determined from the sony support websites). If you happen to receive an error while attempting to update the BIOS on within Windows, make sure that all the proper Sony drivers and utilities are installed first so that the updater can recognize your notebook model.
The only item you’ll need is a bootable DOS media. For creating a bootable usb stick, these are the intructions for USB flash (add modified table file to image before writing).
Instructions:

  1. Download symcmos and copy it to your bootable DOS media. This utility is used to modify your Phoenix BIOS settings.
  2. Go to the BIOS by pressing F2 during start-up, or when the VAIO logo appears, and reset the settings to factory default. Save and reboot.
  3. Go back to the BIOS and enable the boot from external devices option. Save and reboot.
  4. Press ESC when the VAIO logo appears to bring up the boot selection menu and select the bootable DOS media. At the prompt, type “symcmos -v2 -lDefault.txt”, without quotes, and note that there’s no space in between the flag and filename. This will create a literal symbol table from the NVRAM named Default.txt which contains all the current BIOS settings. Reboot by pressing Ctrl+Alt+Del. If that doesn’t work, hold the power button until the notebook turns off.
  5. Use a DOS text editor (or boot to another OS and use a text editor there) to edit the generated Default.txt file. Change the following lines and save the modified file to something else (e.g. modified.txt):
    For Napa SZs – R0112N0
    VT-x: (0354) [0000] —> (0354) [0001]
    For Santa Rosa SZs – R0122S5
    VT-x: (02F1) [0000] —> (02F1) [0001]
  6. Boot to DOS and type “symcmos -v2 -uMODIFIED.TXT”, without quotes and reboot. This will write the modified settings to the NVRAM. You must add the u and then the name of your new file, ie change the word MODIFIED.TXT to whatever you called your updated file.
  7. Done.

Here is a post of the codes used for models other than the SZ series like mine