When the topic is Windows NT performance tuning and optimization, NT Server gets most of the attention. Although NT Server optimization is important, pursuing enhanced workstation performance is equally worthwhile. What good are fast servers if the client workstations that connect to them run like molasses? You probably use NT Workstation to perform most of your day-to-day work, and you're always looking for ways to increase your workstation's network performance. I've compiled a list of my favorite network performance tips and tweaks for NT workstations. These techniques are easy to implement, and they can help you get snappier network performance from your NT desktop clients.
More isn't always better. The more services and applications you run simultaneously, the slower your system will run. Each application steals memory from the OS and system cache and creates additional contention for the host CPU. You probably monitor and limit the number of user applications you launch during a session (e.g., by cleaning your Startup group), but don't forget to also scrutinize your workstation's background services (i.e., services that NT Setup automatically installs when you install NT).
You can improve system performance by auditing your NT workstation's services and removing unnecessary services that are wasting precious system resources. You uninstall services in the Services applet in Control Panel. Select the service you want to remove, click Startup, and select Disable in the Startup Type dialog box. For example, your workstation's Computer Browser service and Server service are candidates for removal.
Computer Browser service. Many users think their workstations require the Computer Browser service to browse the network, and I've met people who believe that disabling this service affects Internet browsing. The Computer Browser service is a component of NT's Windows network browsing services. However, this service engages the server side of Windows network browsing activities and is responsible for participating in browser elections (i.e., determining which machine is the master browser for a protocol on a network segment), regularly advertising the server to the elected segment master and domain master browsers, and maintaining a list of available network servers.
You can disable the Computer Browser service on most NT clients because this service doesn't affect a system's ability to receive browse lists from segment master browsers. Disabling this service not only reduces the number of potential master browsers on a network segment, which reduces the amount of browser election traffic, but can also help stabilize network browsing and browse lists' consistency. Although NT workstations don't engage in the browser wars that plagued earlier Windows versions, NT workstations can incorrectly believe that they are the master browser. Your NT servers should maintain network browse lists, so they are the only machines that should run this service. (For information about browser settings, see the sidebar "Optimizing Your Browser Service.")
Server service. NT's Server service is the Server Message Block (SMB—or Common Internet File System—CIFS) component of NT networking. This service is crucial on most NT servers, particularly on file servers, but the Server service isn't always necessary on NT workstations that act only as network clients. Although this service consumes your workstation's memory, CPU, and network resources, disabling the Server service doesn't free a lot of RAM. However, small businesses or consumer NT Workstation users that connect to the Internet without a firewall will benefit from this modification. Disabling the Server service makes it almost impossible for intruders to access a workstation's files or Registry because this service manages the sharing of these resources. However, if you disable the Server service, users can't share the system's resources, such as file and print shares, and administrators can't remotely access the machine's Registry.
Whether you'll benefit from disabling services depends on your network configuration and needs. Table 1 lists potentially unnecessary NT workstation services that you might disable to boost your workstation's performance.
As with workstation services, running unnecessary network protocols on your workstation wastes system resources and slows network performance. Install only the protocols your workstation requires to function in your network environment. (To add or remove protocols, click Add or Remove on the Protocols tab of the Network applet in Control Panel, which Screen 1 shows.) You can standardize one protocol for your entire network, unless network interoperability requires more than one protocol (e.g., heterogeneous networks that contain OSs that don't support IP). However, gateways sometimes let you standardize one protocol for a heterogeneous network. For example, NT Server's Gateway Services for NetWare provides Novell NetWare interoperability without IPX, and Microsoft SNA Server offers SNA Host connectivity without Data Link Control (DLC). TCP/IP is usually the best choice for a unified protocol because it provides good performance and interoperability with several OSs and the Internet, and you can route it in WAN environments. In addition, most network print-server products support TCP/IP (e.g., HP JetDirect cards), so you don't need to run other protocols for network printer communication.
Another reason to reduce the number of protocols on your network is that network browsing takes place on a per protocol basis, which means that if you're running three network protocols (e.g., NetBEUI, TCP/IP, and IPX), you're concurrently running three sets of browser elections on your network. In some cases, different machines might act as master browsers for different protocols on the same segment. In turn, all this browsing increases undesirable network utilization.
Protocol pruning sounds great, but what if your networking needs require you to run multiple protocols? Never fear, you can optimize performance even in a multiprotocol environment. To guarantee that you're using the optimal network configuration, go to the Bindings tab of the Network applet in Control Panel. This tab controls the functionality and order of individual network protocol and service bindings in NT. Although some services and protocols can't bind to a particular protocol or adapter type (e.g., DLC can't bind to RAS adapters), your workstation often has several bindings for each installed service, including bindings to multiple network cards and protocols. You can use the Bindings tab, which Screen 2, page 75, shows, to display network bindings by service, protocol, or adapter. For each network adapter listed, you can control the priority order that NT uses to service individual network services and protocols on that adapter and whether a particular binding is active. (Although you can enable or disable individual bindings in each of these views, you can change the priority order of individual bindings only in the all services and all protocols views.)
On the Bindings tab, determine which protocols you need on which adapters and consider disabling any unnecessary bindings. In addition to LAN adapters, the Bindings tab lists RAS-created virtual network adapters. The tab lists these RAS and DUN adapters as Remote Access WAN Wrapper entries. Disable individual network bindings for adapters that don't need a particular protocol or service. For example, if you run TCP/IP and NetBEUI on your LAN, but you require only NetBEUI for dial-up RAS connections, disable the binding for NetBEUI to the LAN adapter. Refining network bindings streamlines your network configuration and helps eliminate superfluous network traffic.
A final and more extreme method for optimizing protocol and binding performance in a multiprotocol environment is to install multiple NICs or one multiport NIC on each adapter and leave only one transport protocol bound to each adapter. When you dedicate a NIC or NIC port to a protocol, you ensure that no competition occurs with other protocol traffic on that adapter. However, I recommend this method only if you install NICs on different network segments. If you install NICs on the same segment, NetBIOS name conflicts might occur because multiple LAN adapters register the same NetBIOS workstation name.
If you decide not to disable an unnecessary network binding, at least ensure that the binding is in the proper place in the binding order. Decide which protocols you usually use on an adapter, and reorder the protocol bindings to reflect this priority. Use the all services view to decide which protocols you most often use because this view lets you see all three levels of network bindings: service, protocol, and adapter. You can also use the all protocols view to optimize the order of adapters for each protocol; however, this view doesn't include service-related bindings. Controlling protocols' and services' bindings order helps ensure that NT processes network traffic optimally and gives preferential treatment to your most important protocols and adapters.
Put NetWare in Its Place
A common reason to run additional protocols in NT is because your NT workstation is in a mixed NT and NetWare network. You might configure your workstation with NT's Client Services for NetWare component or a Novell-provided NetWare redirector. If you have more than one redirector on your workstation (e.g., the default SMB redirector for Microsoft networking and a NetWare client redirector), NT needs a priority order for passing names to each redirector. To arrange this order, click Network Access Order on the Services tab of the Network applet in Control Panel (this button appears only if multiple client redirectors are present).
The Multiple Universal Naming Convention Provider (MUP) passes name-resolution requests to one network redirector, then the other, based on the order you define in the Network Access Order dialog box, which Screen 3 shows. For example, when you use a Uniform Naming Convention (UNC) name (e.g., \\BIGSERVER\APPS) to specify a server or shared resource, NT must decide which redirector to first pass the name to. Unless you manually configure which network redirector NT gives priority to, NT might give priority to your less frequently accessed network. If you use one network much more than the other network and NT gives priority to the less-used network, you'll experience delays when NT passes name-resolution requests to the first network, the request times out, and NT passes the request to the second network. This situation worsens if you use the NT and NetWare networks equally and the Network Access Order dialog box lists the NT network first. NetWare responds more quickly to name queries, whereas Microsoft name-resolution request timeouts can take as long as 13 seconds. As a result, list NetWare first on equal-use NT and NetWare networks.
In addition, the Network Access Order dialog box lets you give different redirectors priority for file and printer resource requests. You can benefit from this configuration if, for example, your company migrated its file servers to NT but all its print queues remain on a NetWare network. For more information about redirector order, see the Microsoft article "Connectivity Delay with Multiple Redirectors Installed" (http://support.microsoft.com/ support/kb/articles/q171/3/86.asp). Also, Service Pack 4 (SP4) addresses redirector order-related performance problems.
How you use the Net Use command to map resources (e.g., in logon scripts) on an NT and NetWare network affects your workstation's performance. The following example shows the Net Use command's default syntax:
net use <drive>: \\<server>\<resource>
in which drive is the letter of the local drive you're mapping, server is the NT or NetWare server, and resource is the resource or share you're mapping. However, this syntax is a Microsoft-centric form of the Net Use command. As a result, this syntax causes significant delays when you run it in the logon script of a workstation that lists the Microsoft redirector first in the Network Access Order dialog box but maps resources on both networks. In this situation, using the following alternative Net Use command format can significantly reduce the amount of time your workstation takes to map NetWare resources:
net use <drive>: <server>\<resource>:
in which drive is the letter of the local drive you're mapping, server is the NetWare server, and resource is the NetWare volume you're mapping. When you use this Net Use format, the NT redirector recognizes that you intend the request for the NetWare redirector and passes it on.
Increase Your Cache Flow
You can also improve performance by optimizing NT's system cache. NT uses the system cache for caching network I/O and file I/O. Thus, you can optimize performance by increasing the size of the system cache on workstations that perform heavy network I/O. You can easily increase an NT Server machine's system cache by clicking Properties and selecting the Maximize for File Sharing option on the Services tab of the Network applet in Control Panel. This selection modifies a Registry value and instructs NT to favor memory allocation to the cache over memory allocation to system processes. (For more information about these Registry changes, see "Set Sail for Uncharted NT Performance," September 1997.) However, if you try to use this method to increase the size of the system cache on an NT Workstation system, you discover that NT greys out the Properties option for the Server service.
To increase cache memory allocation on your workstation, change the value of the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Control\SessionManager\ MemoryManagement\LargeSystemCache Registry key of type REG_DWORD from 0 to 1. Under an identical test load, use a network-benchmarking utility to benchmark your system before and after you make this Registry modification. (For more information about this process, see the sidebar "Benchmarking Utilities.") This modification might not improve and can even degrade performance. For example, in systems that don't have much free memory, increased system cache size can cause excessive disk-paging activity, which negatively affects performance.
Glide on AutoPilot
Although tweaking NT's subsystems and network configuration can yield performance benefits, this process is daunting for users who are unfamiliar with NT internals and Registry manipulation. MCSB Technology's AutoPilot P/SA (http://www.MCSD.com) is a software utility that dynamically tunes an NT environment to provide constant maximum performance. AutoPilot P/SA uses fuzzy logic and neural network algorithms to analyze all aspects of your OS and hardware. I've noticed the greatest benefit when I use AutoPilot P/SA on heavily loaded application servers. This product is a must-have for administrators or power users who want to squeeze every drop of performance from their NT systems.
Peak Your Performance
In this article, I've discussed methods you can use to help improve network performance on your NT Workstation systems. Although NT Workstation's default configuration provides good performance out of the box, you can use simple configuration changes to make noticeable improvements and optimize performance.
- "NT Workstation Tune-Up" contains an incorrect URL for MCSB Technology's AutoPilot P/SA. For information about the product, go to http://www.sunbelt-software.com.