Part of Windows NTs design is the ability to run nonnative Windows NT applications. In addition to its ability to run Win32, Win16, and MS-DOSbased applications, Windows NT also has OS/2 1.X (text-mode) and POSIX 1.0-compliant subsystems that allow these types of applications to run on a Windows NT computer. However, because most users will never need this functionality, these subsystems can be removed. Although these subsystems dont load into memory unless invoked by an application that uses them (and therefore arent always stealing memory and CPU time), by removing them you will save disk space.
There are three methods you can use to remove these subsystems. The first, which is preferable, is to use the Windows NT Resource Kits C2 Security Configuration Utility (C2CONFIG.EXE).
However, if you dont have the Resource Kit, you can also use one of the following two methods to accomplish the same thing:
Rename the files OS2SS.EXE and PSXSS.EXE in the %SYSTEMROOT%\SYSTEM32 subdirectory to something different (e.g., OS2SS.OLD and PSXSS.OLD).
Use one of the Windows NT Registry editors to locate the following Registry subkey:
Once located, delete the Posix and Os2 values. Any of these methods will effectively disable these subsystems.
XREF: For additional information on optimizing your Windows NT network configuration, see Chapter 9, Optimizing Your NT Network.
Limit the number of 16-bit applications run in separate memory spaces
Another method of minimizing memory usage is to minimize the number of 16-bit applications you run in a separate memory space. This feature (shown in Figure 4-31) provides greater stability and protection for a 16-bit application, but does so at the cost of additional memory. This is because each application run in this manner must receive an entire Virtual DOS Machine (VDM) devoted just to it, as well as a copy of all environment information; 16-bit applications running in a single shared VDM are able to share environment information and thus use memory more efficiently. Try to limit this method of running applications to those applications that are notoriously ill behaved or greedy for system resources.
XREF: For additional information on Virtual DOS Machines, see Chapter 6, Optimizing Applications.
XREF: For more information on improving the performance of 16- and 32-bit applications, see Chapter 6, Optimizing Applications.
Optimizing the paging file
The Windows NT paging file, created and managed in the System Control Panels Performance tab, provides virtual (disk-based) memory that the system can use in additional to real RAM. The paging file is an important part of Windows NTs performance, because it is used even on systems with large amounts of RAM. Because of this, the performance of access to the paging file has an impact on the overall performance of your system. The paging file may be configured via the System Control Panels Performance tab (this dialog is shown in Figure 4-32).
You should take the follow steps to ensure that the paging file is being optimized on your system:
Make sure that your systems paging file is adequately sized. This means that you should always set the total size of the paging file (including all volumes across which it is spread) to at least the amount recommended by Windows NT in the paging file configuration dialog (in System Control Panels Performance Tab).
Place the paging file on a volume that isnt heavily taxed with other uses and preferably on a partition other than that containing the operating system (i.e., not on the boot partition). The hard drive(s) housing the paging file should also be fast (i.e., have low disk access times and high data transfer rates). Wherever possible, spread the paging file across multiple physical disks, which can significantly enhance the speed of access to the file.
Last, but not least, set the paging file size on each member volume containing it to the same minimum and maximum size; that is, dont let Windows NT manage the upper size of the paging volume. By setting a single page file size that is adequate for your environment and that NT cannot resize, you prevent fragmentation of the paging file, which reduces performance. You also eliminate the disk and CPU overhead involved with constantly resizing a dynamic paging file that is set too small.
CAUTION: If you do set the minimum and maximum sizes for the paging file to the same size, make sure you dont set it too small; in other words, make sure that its size plus the amount of physical RAM on the system is adequate for the largest working set your system will incur. If you set it too small, your system could run out of virtual memory, which will result in unpredictable behavior and may even cause applications or system crashes.
The recommendation for spreading the paging file across multiple drives is for physical drives only, not multiple logical partitions on the same physical drive. Using multiple physical drives leverages the ability of each drive to transfer data concurrently (which is further enhanced by the strict use of SCSI-based hard drives rather than IDE-based hard drives, which do not operate concurrently). Spreading a Paging File between multiple logical volumes on the same physical disk will not improve performance and may even result in slower paging file performance.
The importance of a fast paging file cannot be underestimated; some heavily used systems dedicate a drive to the paging file (or even a paging file spread across a stripe set/RAID 0 volume). Finally, remember that no matter how fast a paging file is, it can never act as a substitute for physical RAM, which is always exponentially faster. If your system is experiencing heavy paging file usage on a regular basis, your first move should be to add additional RAM.
XREF: For more information and additional optimizations relating to the Windows NT paging file, see the Disk Fragmentation and Optimization section of Chapter 7, Optimizing Disks.
Using disk striping for maximum speed
On a Windows NT Workstation computer, significant speed increases can be gained by using NTs disk striping (RAID 0) feature. This technology stripes data evenly across all multiple hard disks, which leverages the ability of NTs I/O system to issue concurrent reads to multiple drives. Note, however, that to reap the benefit of disk striping, your controller and disks must support asynchronous I/O, which essentially means the use of SCSI. IDE or EIDE (Enhanced IDE) drives are not recommended in striped configurations, because they are not capable of the device concurrence that makes this feature attractive. Finally, to fully maximize the speed of a stripe set, consider using a second SCSI controllerthis will create a second SCSI channel, which can then share the disk I/O load with the first controller. Also, NT is capable of talking to both controllers simultaneously.
Figure 4-33 shows a sample Disk Administrator session configuring a stripe set (RAID 0) volume.
XREF: For more information on disk striping and other disk optimization topics, see the Optimizing Multiple-Drive Configurations section of Chapter 7, Optimizing Disks.
ON THE CD: The original disk defragmentation utility for Windows NT, Diskeeper by Executive Software is an excellent disk defragmentation tool that works with both FAT and NTFS volumes. Diskeeper also includes a handy disk fragmentation analysis tool, which informs you about the current level of file fragmentation on each of your disk volumes. Diskeeper Lite, the shareware version of Diskeeper, is included on the Optimizing Windows NT CD-ROM. To install the software, follow the directions outlined in Appendix A, Whats on the CD?, or point your Web browser to the index.html file on the Optimizing Windows NT CD-ROM and follow the links to install the software.
ON THE CD: Speed Disk is another disk defragmentation utility for Windows NT and is included as part of Symantecs Norton Utilities for Windows NT. Speed Disk analyzes fragmentation and performs disk defragmentation. It also has a number of defragmentation, event logging, and thread priority tuning options. A live trial version of Speed Disk is included on the Optimizing Windows NT CD-ROM. To install the software, follow the directions outlined in Appendix A, Whats on the CD?, or point your Web browser to the index.html file on the Optimizing Windows NT CD-ROM and follow the links to install the software.
Defragmenting your hard disk
As with other operating systems, it is important that you keep your systems hard disks running at top speed by defragmenting them on a regular basis. Unfortunately, because NT does not include a defragmentation utility, you must purchase one. There are several NT disk defragmentation utilities on the market, including Executive Softwares Diskeeper, Raxcos PerfectDisk NT, and Symantecs Speed Disk (part of the Norton Utilities for Windows NT). All of these products take advantage of the new disk defragmentation API included in Windows NT 4.0 and make no changes to the core kernel components (a trick that is required with 3.5x version of Windows NT; Executive Softwares Diskeeper is the only product available for 3.5x versions of NT).
XREF: For more information on disk defragmentation and other disk optimization topics, see the Disk Fragmentation and Optimization section of Chapter 7, Optimizing Disks.
Optimizing network access
Although the topic of optimizing network performance is a complex one (and one we address in its own section later in this book), there are a few basic things to consider doing to any networked Windows NT system from day one.
The place to start is to use the Protocols tab to be sure that no unnecessary protocols were installed. If there are any unnecessary protocols installed, remove them to increase the amount of available memory and improve network performance. In addition, be sure to select the fastest network protocol for your network configuration. If you are on a small network (200 machines or less) and do not require protocol routing between multiple network segments, NetBEUI is probably the fastest protocol for your configuration. However, for larger or routed networks involving a number of different physical networks tied together, you should consider using TCP/IP as your primary network protocol.
TIP: Because it doesnt offer any performance benefits over NetBEUI for nonrouted networks or TCP/IP for routed networks, the IPX/SPX protocol is recommended only if your networks primary servers run Novell NetWare (which uses this as its native protocol for file and print services) rather than Windows NT. IPX/SPX uses broadcasts to advertise machine presence in a fashion similar to NetBEUI and can be particularly chatty when used on a Wide-Area Network (WAN) over routers (because of SAP packets that announce server resources).
In addition, for Windows NT computers with more than one type of client redirector installed (i.e., Microsoft Windows Network support and Client for NetWare), make sure that the Network Access Order in the Services tab of the Control Panel Services applet is set so that the most frequently used network is listed first. To access this configuration in Windows NT 3.5x, choose the Network button in the Network Control Panel; in NT 4.0, the dialog is accessible by choosing the Network Access Order button in the Network Control Panels Services tab. The Windows NT 3.5x version of the Network Access Order dialog is shown in Figure 4-34, and the NT 4.0 version is shown in Figure 4-35.
NOTE: The use of TCP/IP as the primary file and print service protocol on your network necessitates some form of NetBIOS-to-IP Address name resolution be in place so that network clients can resolve machine names. Unlike NetBEUI and IPX/SPX, TCP/IP doesnt rely solely on the use of broadcasts to announce and resolve machine names on the network (one of its performance advantages because of the decreased traffic). Instead, you need to use a method for resolving these names another way: this could be the use of an NT Server running as a WINS server, a DNS server, or the use of static Name-to-Address mappings in local or centralized LMHOSTS files.
Order Your SQL Fundamentals CD Today! Learn how to use SQL Server, understand Office integration techniques and dive into the essentials of SQL Express and Visual Basic with this free SQL Fundamentals CD.
You've Deployed SharePoint...Now What? This one-day free online conference delivers the technical knowledge needed to kick MOSS up a notch. In one information-packed day, independent SharePoint experts will present practical, real-world information and provide take-away, ready-to-use solutions
What Would You Do If You Ran Microsoft? ITTV's 2008 inaugural video contest, "If I Ran Microsoft..." is your chance to tell it like it is. Be goofy or be serious, but don"t miss this chance to have fun, win prizes, and go viral in a major way.
Maximize Your SharePoint Investment This web seminar discusses how true bi-directional replication of SharePoint content from one server to another enables branch offices to maintain access to current SharePoint content.