A well tuned Windows NT server provides users with a much better experience, improves productivity, and can help reduce help desk calls complaining about speed. Out of the box, a Windows NT system is a fully functional system, but there are steps you can take to improve the performance of your systems.

Check your hardware
Especially on older equipment, you can achieve an immediate performance boost by simply replacing network hardware. If your Windows NT server is using a 16-bit board, it’s time to replace it. Network adapters are an inexpensive and easy replacement.

One other easy thing to check is whether or not your server’s network hardware is capable of faster speeds. Is the existing adapter only capable of 10 Mbps? If so, replace it with a board that supports 100-Mbps speeds if your network can support it. While replacing hardware isn’t exactly “tuning,” the desired result is faster networking and faster network hardware will help to achieve that goal.

While you’re looking at the properties for your network adapter, take a look at the duplex settings. If it’s set for half duplex but capable of full, you’re cheating yourself out of simultaneous sending and receiving of data in addition to introducing more collisions on the Ethernet. Full duplex allows the server to both send and receive data at the same time. Because of this, collisions are reduced since there is never unanticipated traffic on that particular network connection.

For my example, I am using a Compaq Netelligent network adapter in a Compaq Proliant 1600 server. Your system may work a little differently, but the concepts will be the same. To view the statistics for your Windows NT-based network adapter, open the Network Control Panel and click on the Adapters tab. Choose an adapter and click the Properties button. On my server, I am provided with a list of Compaq adapters and must choose one and click Properties again to continue, as in Figure A.

Figure A
List of available Compaq network adapters

When the Properties window appears, select the Settings tab. As you can see in Figure B, this server’s network adapter is running at 100 Mbps in full duplex mode. You can change any of these settings, by making the appropriate selection from the respective drop-down list. For example, if you wanted to set the card to half duplex (if for some reason, full duplex doesn’t work on your network), select Half from the Duplex Setting drop-down list.

Figure B
Properties for the Compaq network adapter

Check your protocol usage
TCP/IP is the protocol of choice for almost every major network operating system. While some legacy applications might require other protocols such as NetBEUI or IPX/SPX, if your organization doesn’t run one of these applications, there is very little reason to keep the extra protocols around. To see a list of protocols on your Windows NT server, open the Network Control Panel and choose the Protocols tab.

In Figure C, you can see that this particular Windows NT system has NWLink IPX/SPX, NWLink NetBIOS, and TCP/IP enabled. You can improve performance on the server by discarding unneeded protocols. Just remove them by selecting the protocol and clicking Remove.

Figure C
Three protocols are enabled on this Windows NT system.

If you’re running a network without any older NetWare servers or with no other IPX/SPX applications, you can safely do without IPX. Also, some NT servers run NetBeui in addition to TCP/IP. You’ll only need NetBeui if there are special applications on your network that require it (which is highly unlikely) or if you have very old client workstations running DOS or Windows 3.x that connect to your server.

Check the order of things
If you’re forced to run multiple protocols, the order in which they are bound to the network adapter can also affect overall perceived performance for users. For example, if the primary protocol used is TCP/IP, it should be bound to the adapter first. You can view the bindings on Windows NT by looking at the Bindings tab on the Network Control Panel (see Figure D).

Figure D
NetBIOS and Server bindings for this server

To change the order of the protocols, start by expanding the service you want to tweak. Next, select the protocol and click Move Up to increase its priority. If you want to decrease the priority, click Move Down. You can also temporarily disable a protocol by clicking Disable.

You WINS some, you lose some…
In many circumstances, making sure that WINS is bound to the NetBIOS interface first will improve overall performance. Windows NT uses NetBIOS for its underlying work. This will also result in fewer broadcasts and improved overall network performance on the network since the server is using WINS for name resolution rather than broadcasts.

Registry tweaks
Because Windows networks rely on the replication of information between domain controllers, the servers can generate a lot of network broadcast traffic. Depending on the location, number of controllers, and how often changes are made to user information, this can negatively impact network performance. By modifying certain registry entries on each server, you can reduce the amount of traffic generated by NT servers. These registry tweaks revolve around three different areas:

  • PDCs
  • BDCs
  • The Browser service

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 of the techniques in this article. If you make a mistake when making changes to your server’s registry, you may cause your server to be unbootable, which would require you to reinstall Windows. Proceed with extreme caution.

PDC changes
Every five minutes, the PDC checks the SAM database to see if any changes have been made. If you don’t make regular updates to the SAM database, such as adding or deleting users from your network, you can safely increase this interval. This is especially useful when you have servers spread out across multiple locations and have to deal with replication across slower links.

To make the change, start Regedit. In Regedit, browse to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Netlogon\Parameters

Modify the value of the Pulse registry key to be the number of seconds you would like to wait between SAM checks. The end result will be less network traffic, assuming that you don’t make too many SAM changes.

If you make a lot of changes in this period, however, you run the risk of trying to fit too much information into the incremental update buffer. This can result in a full replication of the PDC to the BDC, thus tying up network resources. This buffer is 64 KB in size. To increase the size of the buffer, browse to:
HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Services\ Netlogon\ Parameters

Modify the ChangeLogSize key to be the size you think you need.

For administrators that make very infrequent changes to the SAM, there is little replication that takes place. However, every two hours, the PDC sends BDCs a message indicating that it is still operating. This interval can also be increased to reduce network traffic. In the same registry location as above, modify the contents of the PulseMaximum key to reflect the number of seconds you would like the PDC to send no updates before sending this “alive” message.

BDC, member server, and workstation changes
An increase in the number of buffers allowed by the redirector service on BDCs, member servers, and workstations may result in an increase in overall network performance. If an application uses an additional thread because of the increase, the result is an additional 1 KB of non-paged RAM that is used.

To increase buffers and add processing threads, browse to:

Either add a key named MaxCmds or modify the existing key if it is there. This should be a DWORD key. The default is 15, but can range anywhere from 0 to 255. Likewise, either add a new or modify an existing key named MaxThreads and set it to the same value as the MaxCmds key. Additionally, you may want to try increasing the size of the MaxCollectionCount key, which is the buffer responsible for character-mode named pipe writes. It has a default value of 16, but can range anywhere from 0 to 65,535.

I’m not talking about Web browsers—instead I’ll discuss the network browser services that allow resources to be accessed by name on Windows networks. By default, the Windows NT primary domain controller is assigned the role of domain master browser on the network. In this role, it is responsible for compiling a list of network resources from other browsers by downloading the domain/workgroup list from the WINS server and contacting the master browser in each one. This contact takes place every 12 minutes, which is why a new resource on a Windows network might not show up immediately after being added.

When a browse master becomes unavailable, the network performs an election to choose a new one based on the OS. For example, a Windows NT system will be chosen over a Windows 95 system for this purpose if it is available. By modifying the registry on an NT system in each subnet, you can force a specific system to assume this role without an election. To do so, modify this key:

Change its value to Yes. This will reduce both network traffic as well as load on the individual systems. Be sure to select systems that are highly available if you choose to do this.

Clients use backup browsers to locate resources on the network. These browsers are fed information from the masters. You can choose which systems will be or will not be made backup browsers by modifying the contents of this key:

Set the value to Yes or No.

It just keeps going and going
Windows NT has been around for a long time now, and if everything is running fine in your organization, there’s no real reason to migrate to a newer OS yet. But just because Windows NT is old, it doesn’t mean that you can’t increase its performance. By checking hardware, checking networking system components, and modifying registry entries to control system behavior, you can get more out of your Windows NT systems and improve overall network performance.