Windows Server 2003 is Microsoft’s newest and fastest operating system. If you’ve decided to deploy Windows Server 2003, you’ve probably also decided to put it on the biggest, fastest server your budget can afford. However, just because the software is fast and you’ve got a lot of hardware behind it, that’s no reason to neglect the basics of network administration tuning. You can make Windows Server 2003 more efficient by making sure that the proper networking components are all installed and configured for optimal performance. Here are some areas where you might be able to improve the networking connections on your Windows Server 2003 system.
Danger! Danger! Danger!
This Daily Drill Down suggests making changes to your server's registry. Make sure you have a complete backup of your server before performing any technique in this article. If you make a mistake when making changes to your server's registry, you may cause your server to be unbootable, requiring a reinstallation of Windows. Proceed with extreme caution.
Getting rid of the nonessentials
One way to improve networking speed in Windows Server 2003 is to make sure you're running only what you absolutely need to run to support networking services. For example, are you running a DNS server on a system on which it is essential that other networking services be as highly responsive as possible? Consider moving the DNS component to a different server to free up that valuable bandwidth and to release the server from these particular duties. Take some time to plan what you want the server to do, and make sure that it isn't doing anything else. Buy additional servers if you have to in order to increase performance.
Likewise, make sure that other unnecessary networking components have not been installed. For example, do you have a NetWare server on your network? If not, don’t install the Client Services for NetWare on your Windows 2003 system. You can verify which components are installed on a particular connection by choosing Start | Control Panel | Network Connections and then choosing the network connection you wish to view. On the status screen for the connection, click the Properties button to see a list of the components installed. Remove any that are not needed.
Make sure network errors aren't a problem
Not all performance tweaks can be performed at the server. Often, such tweaks, and network problems in general, are the result of problems on the physical network itself and not the server. Ensuring there are no errors on the physical network may be the best way to begin improving server networking performance.
By default, Windows will report only the total bytes sent and received on the network medium. However, by adding a key to the registry, you can allow Windows to report error statistics on the status page for any network connection. To add this status information, you’ll have to make a trip to the server's registry. Start regedit and browse to
Create a new key called StatMon by choosing Edit | New Key. (Skip this step if the key already exists.) In the new key, create a DWORD value called ShowLanErrors. To do so, choose Edit | New | DWORD value. The possible data for this value is either 0 (disabled) or 1 (enabled). Give it a value of 1.
Now, open up the status for one of your network connections. Under the Activity box, you'll see text that wasn't there before. Hopefully, the numbers indicate 0 errors on your network. In Figure A, you can see that some of the error information is covered by the buttons on the status window.
|The network status window displays error statistics.|
If these numbers are not 0, it's time to break out the network troubleshooting skill set. Start with a different patch cable and then follow the appropriate steps until the problem is resolved. These types of problems are beyond the scope of this article.
Use the right drivers
If your network adapter manufacturer has not yet released drivers for its hardware certified for Windows Server 2003, you won't be able to use the native drivers. In these instances, you can attempt to make use of the Windows XP or Windows 2000 drivers instead. However, be aware that using inappropriate drivers can introduce instability into the system and may not achieve an optimal level of performance.
Even if you're using Windows Server 2003 drivers, be sure to keep up with the latest driver releases. If you keep up to date on the drivers for the network card for your server, you can gain efficiency in the networking component of Windows.
Make sure that protocol bindings and providers are optimally configured
Like all previous versions of Windows, the order in which protocols are bound to the network adapters can make a difference in how the network performs. For example, if your primary network connections are TCP/IP-based, but you have IPX/SPX bound to the network adapter before TCP/IP, you can realize an instant overall performance increase by modifying this order. Even better, you can modify the bindings on a per-network-adapter basis, allowing a great deal of granularity in optimizing your network connection.
To modify the order in which communications protocols are bound to the network adapters, open Start | Control Panel | Network Connections. From the menu bar, choose Advanced | Advanced Settings. In this window, make sure that you're on the Adapters And Bindings tab, and choose the network adapter for which you'd like to view or modify the binding order. In the area of the window marked Bindings For network connection name, choose the primary protocol for each service, and use the up and down arrows at the right-hand side of the screen to modify the order.
Likewise, you can reorder the network adapters themselves by choosing an adapter and moving it up and down the list with the up and down arrows. (See Figure B.)
|The protocol bindings for the Local Area Connection|
In addition to modifying the binding order to better match your business network traffic, you can also specify the order for each of the provider services, such as Terminal Services and Windows Network services. If you aren't running Terminal Services, move it to the end of the list.
You can modify provider order from the same location as protocol binding order. Simply click on the Provider Order tab, shown in Figure C, and make the appropriate changes.
|You can modify provider order for this server.|
If you don’t need a particular protocol for some reason, don’t install it. For example, if there are no NetWare servers on your network, there’s no reason to have IPX/SPX installed on your server. By having more than one protocol running on your network, you’re doubling, tripling, or quadrupling the amount of data the server must put out. For example, if you’re running both IPX and TCP/IP on your server, the server will broadcast the same data on two different packets—IPX and TCP/IP.
Therefore, you should delete unnecessary protocols. To do so, select the unnecessary protocol in the Local Area Connections Properties screen and click Uninstall. In a matter of seconds, the useless protocol will be gone and the speed of your network will jump.
Get rid of NetBIOS over TCP/IP if you can
In a networking environment where all of the clients are running at least Windows 2000 and using DNS or the host's files for all name-resolution chores, you can consider disabling NetBIOS over TCP/IP. However, be careful with this option. A lot of services depend on it, and careful analysis and testing should be performed before taking this step. The considerations include:
- Does the server act in a WINS capacity in any way—as either a server or a client? If so, NetBIOS over TCP/IP is a required component.
- The Client for Microsoft Network and File and Printer sharing is possible only for other machines with NetBIOS over TCP/IP disabled, as well as when this service is disabled at the server.
- If you're running any version of Windows prior to Windows 2000 on your network, disabling NetBIOS over TCP/IP is not recommended.
With all that said, if you're able to safely disable NetBIOS over TCP/IP, take the following steps to do so. Choose Start | Control Panel | Network Connections | name of network connection. On the status screen, click the Properties button. Choose TCP/IP from the Items list and open up its properties. On the TCP/IP properties window, click the Advanced button and choose the WINS tab. Under the section marked Netbios Setting, select the option labeled Disable Netbios Over TCP/IP and click the OK button until you're back at the desktop.
I can’t stress enough how important it is to carefully test this suggestion before implementing it in a production environment. In certain newsgroups, users have indicated that they have attempted to do this, but ran into problems even though they met all of the requirements. In the end, one user wrote, “I re-enabled NetBIOS over TCP/IP and my problems magically disappeared.”
Since this is an article on doing everything you can to get more performance out of your network connections in Windows 2003, I thought it was important to include this tip.
Be careful setting up Lmhosts
With Lmhosts' long history built on NetBIOS, many network administrators are still maintaining an Lmhosts file to facilitate the location of network resources. To keep this file efficient, take the following steps:
- Since the file is processed sequentially, place the frequently used options near the top.
- Automatically add names from Lmhosts to the local name cache by specifying #PRE followed by the resource name. This will preload any entries with this identifier.
- If you add a new entry to the Lmhosts file with the #PRE keyword, add it immediately to the local cache with the command nbtstat –R at the command line.
New doesn’t always mean fast
Windows Server 2003 includes a great number of enhancements to the networking subsystem, including large TCP windows, IGMP version 3, IPv6, and selective acknowledgements, among other things. What this means is that, out of the box, Windows Server 2003 will require less tuning than previous versions. However, by following the steps above, you can improve the networking component in this newest operating system.