Previous Table of Contents Next


Multiple Disk Subsystem

In this scenario, we will build on our previous performance optimizations by assuming that we have two disk controllers: one EIDE disk controller and single disk drive, which shipped with the computer; and an optional SCSI disk controller, with at least two (preferably three to five) SCSI disk drives. In this case, we will install Windows NT Server to the EIDE drive (your C: drive) and devote this drive completely to Windows NT and the BackOffice system files. The SCSI subsystem will be used to create a striped set or, if we have enough disk drives (at least three), a striped set with parity.

When creating a striped set or striped set with parity, the more drives you add, the better the performance you will achieve. This is because a striped set stripes the data among the disk drives in a sequential fashion. For instance, if you have three disk drives in a striped set, in theory, you can read or write three times as much data, but, in actuality, the performance is not quite that scalable, although it is still significant. A striped set with parity will only achieve two reads/writes for the same logical drive because a complete stripe includes two data blocks with one ECC block. It is even more important for a striped set with parity to use more than three drives to obtain equal performance with a regular striped set.

Once the striped set (or striped set with parity) has been created (your D: drive), you can install the BackOffice system files. These files should be installed on your C: drive, with the data files (SQL Server devices, databases, and so forth) installed to your D: drive (the striped set). All of the additional user data files and shared applications should also be installed to your D: drive, to take advantage of the increase in the I/O subsystem. This will give a significant increase in overall system performance and a noticeable improvement in I/O capacity for your shared network files and SQL Server databases.

Ultimate Disk Subsystem

To obtain the ultimate in I/O performance without utilizing a hardware RAID solution (more on RAID later), you can utilize multiple disk controllers with multiple disk drives. In this example, we will assume we have three disk controllers: one EIDE disk controller with one disk drive (your C: drive) and two SCSI disk controllers. One SCSI controller (SCSI I) will have two disk drives (although more is better), while the other SCSI controller (SCSI II) will have three or more disk drives. The single EIDE drive will, once again, become our SystemRoot partition, where we’ll install Windows NT Server and all of the BackOffice system files along with a small system paging file.

The SCSI 1 disk controller and disk drives will be used to create a striped set where we will install the system paging file and, alternatively, the printer spool files, as well. In this case, use of a striped set will increase system throughput without cause to worry about data integrity, because print jobs can be resubmitted should an error occur. If an error occurs on this striped set, the small paging file that you created on the SystemRoot partition will be used to keep the system up and running.

All of your user data files, shared applications, and SQL Server devices and databases will be installed on the striped set with parity, which you will create on the SCSI 2 disk controller. This will provide an additional level of fault tolerance for your data files and increase I/O performance, as well. This will give you the best overall system performance and I/O capacity for your server.

If you use any of the preceding scenarios with multiple disk controllers in a multiprocessor platform, your performance will increase even more. This is achieved due to the Windows NT symmetric processing model, where any processor can service interrupts and can thereby achieve an additional level of I/O concurrency over a uniprocessor platform.

Hardware RAID Alternatives

If you have the budget, nothing performs better than a hardware RAID system when selecting a disk subsystem. This is because a hardware-based RAID device generally has an internal battery backed-up memory buffer (in case a power failure occurs during a disk write), which adds additional fault tolerance over a software-based RAID solution. It also has its own processor so that the overhead involved in calculating the ECC stripe is performed by the disk controller rather than the host processor.

In this section, I will be discussing the use of a RAID 5 solution only. Although, there are several RAID levels currently in use with Windows NT Server. This includes RAID 0 (data striping), RAID 1 (disk mirroring), and RAID 5 (striping with parity). RAID levels 2, 3, and 4 are generally used by high-end mainframes rather than with Windows NT. And each of these is just a slight variation of a striped set with parity.

Additional benefits include the ability to mirror these RAID drives in software with Windows NT, or you can even go so far as to stripe multiple RAID drives, as NT sees these RAID drives as a single logical drive. And if you stripe them, there is no need to use a stripe set with parity because this is already being performed at the hardware level. Another advantage of the hardware-based RAID solution is that most of them support hot swapping of a failed disk drive. Hot swapping is the ability to change a failed disk drive for a new working drive without powering off the entire computer system. Once the drive has been replaced, the RAID controller will begin to rebuild the missing data stripes based on the available data stripes and ECC stripe in the background. Replacing a software-based RAID solution requires powering off the system to replace the drive; then, once powered back up, you will need to use the Disk Administrator to regenerate the missing data.

When selecting your disk drives for a RAID solution, either hardware- or software-based, it is better to choose more small disk drives rather than fewer large disk drives to build an equivalent logical drive. For example, suppose you want about a 5GB logical drive. You could select either six 1GB disk drives or three 2GB drives for a maximum logical drive of 4.8GB (RAID drives utilize about 1/5 of the storage for the ECC stripe). Either solution will give the same logical drive size, but the unit based on the six 1GB drives will generally outperform the unit based on three 2GB drives.

After you have decided on the type of I/O subsystem to use, it’s time to choose a video adapter. Your video adapter plays an important role in your server’s performance as the video adapter is your primary interface when working with Windows NT Server.


Previous Table of Contents Next