Previous Table of Contents Next


Windows NT can perform as well as, if not better than, most caching disk controllers with the addition of the same amount of RAM. For instance, if you compare a caching controller with 16MB of RAM to Windows NT Server with an additional 16MB of RAM, you will find that the performance is about the same. This is because the caching controller is limited by the expansion bus to transfer the requested data, while the Cache Manager utilizes system memory and therefore accesses cached data based on the memory bus speed. If the caching controller only has 4MB of RAM, even the base installation of Windows NT (with 16MB of RAM and no caching disk controller) performs as well as, if not better than, the same system with a caching disk controller. As another item to consider, there are very few caching disk controllers that are supported by Windows NT. These types of controllers require specific device driver support in order to use the cache on the disk controller. Most device drivers for caching disk controllers just turn off the cache when used with Windows NT.

Rather than use a caching controller, you might want to consider a few alternatives that simply require a few basic techniques. These techniques focus on balancing the load of your disk subsystem to increase the I/O performance. In this particular aspect, we will be concentrating on using SCSI subsystems (as it provides the most benefit), but you can use other disk subsystems (such as IDE or EIDE), as well.

Let’s take a look at this in a couple of steps. First, let’s look at single disk subsystems, where there is only one disk controller with multiple disk drives. Then, let’s talk about multiple disk subsystems, where there are at least two disk controllers with one or more disk drives per controller. Next, we’ll talk about the ultimate disk subsystem, where there are multiple disk subsystems with multiple disk drives per disk controller. Finally, we’ll wrap up this section with a discussion about hardware RAID (Redundant Array of Inexpensive Disks) alternatives.

Single Disk Subsystem

This particular installation has limited performance gain options, but that’s not to say that there is nothing you can do. It just means that the options for increasing your server’s performance are based on the number of physical disk drives you have installed on your system and how much work you are willing to put into obtaining the maximum benefit. Let’s begin with the minimum performance gain option because it is also the easiest.

We will start this discussion with the assumption that you have one disk controller with two disk drives. Each disk drive is 500MB in size. They can be IDE, EIDE, or SCSI. Each drive has a single primary partition of 500MB. In this particular case, you have installed Windows NT Server to your C: drive in the WINNT directory (the installation default). This directory is called your SystemRoot. In fact, you have a special environment variable called SystemRoot which equates to the installation directory. For instance, in this example, the SystemRoot environment variable is C:\WINNT. This is where the system files and paging file are located, and where print jobs are spooled, so it is a heavily used disk drive.

To help balance the load, you can do two things. First, you can install another paging file on the second disk (drive D:). This will provide Windows NT with the ability to utilize both paging files (the one on your C: drive and the one on your D: drive) when it needs to make use of virtual memory. If one disk is in use, the other disk can be used to access its paging file to fulfill the virtual memory request. Secondly, you can place all of your BackOffice and support files on the second disk drive. You can even go so far as to split your user shares between both drives so that the load is equally balanced. This will give relatively good performance with a minimum of complexity.

Windows NT Server makes heavy use of its paging file, and the most significant performance gain can be realized by placing your primary paging file on a striped set. The only alternative to paging to disk is to have enough physical memory installed on your system to avoid paging at all. And if you have the funds available, a 256MB Windows NT Server can be an outstanding network server. Adding additional processors can increase its capabilities even more as an application server.

The alternative method requires either that you pre-partition your hard disk drives into four equal sizes of 250MB each before you install Windows NT Server; partitioning it as part of the install process (the simplest method); or back up your current NT Server installation and repartition, reformat, reinstall NT, and then restore your backed-up version (the toughest method). The idea here is to use two partitions (one on each physical disk) and create a striped set of 500MB. You could alternately create four partitions with two partitions 150MB in size and two partitions 350MB in size to create a 700MB striped set.

I would not recommend less than 150MB (and even that is cutting it close since a base installation requires 130MB of free space) for the system partition, as the available free space will dwindle as you install additional software or print jobs are spooled. And, once this partition is filled, you will be required to back up, repartition, reformat, reinstall, and then restore your previous NT installation. A lengthy and tedious process, to say the least.

Of course, you cannot create the striped set until after you have installed Windows NT. So, your first task is installing NT to your first primary partition (your C: drive). Once you have installed NT and created the second primary partition (your D: drive), you may proceed to create the striped set (your E: drive) with the Disk Administrator. Now, you can follow a similar process, as mentioned previously, to install your BackOffice software, then create your paging files and user directories. Except in this case, you should create small paging files for your C: and D: drives (something in the 10 to 30MB range), with your largest paging on your E: drive (possibly in the 100 to 250MB range, depending on your server load), place the user directories on your D: drive, and place all of your other software on the E: drive (the striped set). This will give a moderate increase in system performance and increased I/O capacity for your shared network files.

Because you are utilizing a striped set without parity, there is no fault tolerance. Your only means of ensuring data integrity is your system backups. So, be sure to schedule daily backups.


Previous Table of Contents Next