Performance tuning is a primary duty of the systems administrator. The task can be fun but also a challenge. Sometimes, you face a tug-of-war between tight budgets (which force you to delay new system purchases) and new applications (which demand more from the systems you have).

The struggle leaves you scrambling for cost-effective tools that can coax as much performance as possible from your overburdened servers.

One tool that you shouldn't overlook is a disk-defragmentation utility. Although disk defragmentation is hardly a glamorous task, you can realize significant performance gains by reducing the number of file fragments on your servers' disks. Heavy fragmentation can hamstring even the fastest SCSI drive. Also, no matter how much you expand and tune your RAM, data always needs to pass through the I/O bottleneck that your relatively slow, electromechanical hard disks produce. This restriction becomes even more pronounced when heavy fragmentation is causing those disks to thrash. Thus, a reliable and effective defragmentation utility is a crucial component of your performance-tuning toolkit.

As you probably know, Windows 2000 incorporates a scaled-down version of Executive Software's Diskeeper as its default defragmentation utility. This Win2K tool is the equivalent of Diskeeper Lite, a freeware product that runs manually, has no scheduling capability, and offers no support for command-line execution. Because of these limitations, you'll need to purchase a full-featured defragmentation utility to centrally manage and automate defragmentation on your servers and workstations. In this comparative review, I examine the features and performance of three prominent defragmentation products: Diskeeper 6.0, Raxco Software's PerfectDisk 2000, and Symantec's Norton Speed Disk 5.1.

The Test Environment
I graded each defragmentation product according to two general categories: overall performance and functionality. To measure performance, I recorded the length of time each product required to complete a defragmentation cycle, then I critiqued the effectiveness of the defragmentation. My functionality tests focused on deploying, scheduling, and monitoring defragmentation procedures in a networked environment.

For my performance test bed, I used four identical Hewlett-Packard (HP) NetServer LT 6000r enterprise-class servers. Each server came with six 550MHz Intel Pentium III Xeon processors and 1GB of RAM. Each server also contained an onboard HP NetRAID adapter attached to three 18GB IBM Stingray 10,000rpm Low Voltage Differential (LVD) SCSI hard disks.

For my functionality test bed, I used a segment of the Windows 2000 Magazine Lab network. To deploy the defragmentation utilities and test their scheduling and monitoring features, I used a variety of this segment's workstations and servers.

Because defragmentation utilities must perform well in all types of environments, I set up multiple configurations of data and fragmentation. My goal was to obtain a good performance sampling from each product while forcing that product to work with both extremely fragmented and extremely full disks—two scenarios that defragmentation utilities have historically struggled with.

I began by dividing each NetServer LT 6000r server's 18GB system disk into two NTFS partitions. These C and D partitions were 4GB and 14GB, respectively. I installed Win2K Advanced Server (Win2K AS) on the C partition. I let Win2K create a pagefile with an initial default size of 1.5GB. To test each product's ability to handle large files, I installed Microsoft SQL Server 7.0 on one of the servers and created an 8.4GB database on the D partition; I used T-SQL scripts in the SQL Query Analyzer to populate the database with data. Including the database log file, the total data on the D partition was 9.9GB.

For the remaining three servers, I progressively filled the D partitions with random data while maintaining a constant level of fragmentation. For the C partitions, which were the system partitions on the four servers, I kept the amount of data constant while progressively increasing the level of fragmentation. Because the four HP NetServer LT 6000r servers were identical, I could simulate a single server in eight distinct levels of fragmentation and available free space. For detailed statistics about each partition in its fragmented state, refer to the sidebar "Performance Results." This sidebar's tables show detailed results of all my tests. (Instant DOC ID 16443)

After my servers' partitions were ready for testing, I backed up each system to ensure that I would test all the products under identical conditions. To do this, I used RAID 1 mirroring, which each HP server's HP NetRAID adapter provided. First, I prepared each disk with an appropriate amount of data and fragmentation and mirrored it in a RAID 1 configuration. Then, I broke the mirror. I used one of the disks for testing and put the other aside as a backup. After I finished testing a product, I restored the original environment from the backup disk and recreated a RAID 1 mirror set. I repeated this process for each of the four servers' disks.

Because the products differ in their adoption of the Microsoft MoveFile API, I tested each product on the C (i.e., system) partitions according to the vendors' directions to achieve the best results. For Diskeeper and PerfectDisk, I used a combination of online and boot-time defragmentation modes. The timed results for these two products reflect the cumulative time required for both passes—starting from when I clicked OK to restart the server to the moment that the Windows logon screen appeared. Typical reboot time for the HP servers is approximately 2 minutes 40 seconds. Because Speed Disk doesn't adhere to the MoveFile API and instead defragments all files online, that product's timed results reflect one pass with no reboot. For more information about the MoveFile API and system files, see the sidebar "The Challenge of Defragmenting an NTFS Partition," page 106.

The test results for the D partitions reflect each product's results from one online pass. Because these were nonsystem partitions, I thought each product had an equally fair shot at defragmenting the data without needing to work around a pagefile or heavily fragmented Master File Table (MFT). This scenario is also more likely in production environments, in which administrators prefer not to reboot a busy file server for the sake of defragmenting its nonsystem disks or partitions.

The Final Analysis
In my assessment of these products, I tried to keep in mind network administrators' highest priorities. Obviously, performance tops that priority list, followed closely by ease of use and manageability. Although a good UI certainly contributes to ease of use, I wouldn't expect to be using the interface frequently. A defragmentation utility should reliably do its job in the background within a reasonable period of time, freeing me to accomplish more pressing tasks.

All three products do a good job of maintaining moderately fragmented partitions that have ample free space. Under more severe conditions, however, I would select Speed Disk as the most impressive product of the three I tested. The performance numbers speak for themselves. Although Speed Disk didn't complete its passes as quickly as Diskeeper did, Speed Disk defragmented files splendidly while keeping its overall run times well below PerfectDisk's results. Additionally, Speed Disk performed on every system I tested, whereas the competition stumbled with large databases and pagefiles. Equally as important, Speed Disk impressively defragmented free space—a crucial capability for preventing future fragmentation.

Another important Speed Disk feature is its ability to defragment online. Perhaps I'm paranoid, but the less often I need to reboot my servers, the better. If I do need to reboot a server, I like to make sure the server comes back online as expected. With offline defragmentation passes and features such as Diskeeper's Frag Guard and adjustable fragmentation thresholds that vary when an offline pass occurs, you might not know exactly when your server will reboot.

Finally, the deployment and management functionality of Speed Disk's Norton System Center (NSC) are great selling points. Many shops don't use Microsoft Systems Management Server (SMS) or its competitors, so a free tool with which you can deploy and manage your defragmentation utility is a big bonus.

Diskeeper 6.0
At the time of testing, Executive Software was about 2 weeks away from releasing Diskeeper 6.0. By the time you read this review, for which I tested a beta version, Diskeeper 6.0 should be available.

Executive Software provided me with two CD-ROMs that contained the code for Diskeeper 6.0 Server and Diskeeper 6.0 Workstation. Diskeeper Server runs on Win2K Server, Win2K Professional, Windows NT Server 4.0, and NT Workstation 4.0. Diskeeper Workstation runs on Win2K Pro, NT Workstation 4.0 Service Pack 3 (SP3) or later, Windows 98, and Win95 OEM Service Release 2 (OSR2). Both versions of Diskeeper support NTFS, FAT16, and FAT32 file systems.

Diskeeper's straightforward approach to hard disk defragmentation is to use the MoveFile API to defragment files online. However, the Microsoft API has no provision for moving files such as the MFT, the MFT mirror, and the pagefile because the OS locks those files for its exclusive use. Diskeeper therefore uses a proprietary boot-time process to access the disk. To achieve the highest level of defragmentation, you need to regularly run Diskeeper in its online mode and run the product in its boot-time mode as necessary to defragment the MFT or the pagefile.

Systems administrators don't like to frequently reboot mission-critical servers, so Diskeeper includes the Frag Guard feature. Frag Guard prevents fragmentation of the MFT and pagefile and therefore reduces the necessity of running Diskeeper in boot-time mode. To prevent fragmentation of the MFT, Frag Guard removes data files from the MFT reserve zone. As a result, the MFT is less likely to fragment during expansion as it tries to grow around those data files. To help prevent pagefile fragmentation, Frag Guard moves data files away from the end of the pagefile and puts an empty placeholder file in their place. If Diskeeper detects that the pagefile will expand, Diskeeper supplies a contiguous chunk of free space for that expansion by deleting the placeholder file. Frag Guard's secondary function is to automatically schedule a boot-time defragmentation (within specific, configurable parameters) when either the MFT or the pagefile exceeds a fragmentation threshold that you specify.

Another new feature in version 6.0 is Smart Scheduler, which monitors the number of files that move during a defragmentation pass. If that number increases, Smart Scheduler instructs Diskeeper to run more often. Smart Scheduler also lets you specify blackout periods during which defragmentation passes can't run.

Installation, Deployment, and Central Management
Using Diskeeper's wizard-driven interface, I installed the product quickly and easily. The process, which didn't require a reboot, installed the Diskeeper service. The wizard sets the Diskeeper service to start automatically and use the local system account to log on. During disk analysis or defragmentation, Diskeeper starts the dfrgntfs.exe process, which consumes as much as 10MB of system memory when active.

The Diskeeper GUI is a Microsoft Management Console (MMC) snap-in and is fairly easy to use. Figure 1, page 106, shows the Diskeeper GUI's appearance following a defragmentation pass on one of my test partitions. A toolbar provides access to frequently used commands. The volume display lists available partitions and cursory statistics, and the Defragmentation display provides a color-coded graphical representation of a partition's contents. (Diskeeper's Defragmentation display is easy to read but doesn't provide the cluster-level granularity that, for example, PerfectDisk's display provides.) To access a more detailed text-based partition analysis that you can save to disk, click View Report. HTML-based online Help is generally well written and organized although light on technical detail.

Diskeeper's deployment options are limited: You can use SMS to manually distribute the code to each target system, or you can use a third-party deployment tool. If you decide to use SMS, you can modify and use the generic package-definition file that Diskeeper provides.

To manage and schedule defragmentation passes for clients on your network, you use the Network Scheduler, which is available only in Diskeeper Server. To launch Network Scheduler, go to the Diskeeper GUI and click the toolbar button that resembles a network diagram with five networked PCs. Figure 2, shows the Set It and Forget It Network Scheduler window, which lists all your network's computers and domains. Simply select the computers or domains to which you want to apply a defragmentation schedule. After you select the time and frequency of the desired defragmentation run, click Send schedules to deploy the schedules to the selected computers. Whether you set the schedule remotely or locally, the software stores each computer's schedule information in a local diskeep.ctl file, which resides in Diskeeper's default directory. The Diskeeper service checks that file for instructions once a minute. On the system you use to set the remote schedules, the software saves a schedule data file for every scheduled computer.

Using the Network Scheduler, I set and deployed several schedules, and all the systems ran the Diskeeper defragmentation engine as I expected. However, Diskeeper offers no tool to verify which systems in the list have the Diskeeper service installed. If you attempt to deploy schedules to systems that don't have the Diskeeper service, you get a Failed Connection error message—the same message you get if a system is shut down or disconnected from the network. I was also disappointed that I couldn't schedule defragmentation runs for specific disk partitions. If I set a schedule, the schedule applied to all the partitions that the selected system hosted. Finally, Diskeeper offers no practical way to remotely schedule a boot-time defragmentation. Therefore, you must manually schedule each of your remote systems or settle for less-than-optimal defragmentation on those partitions. I found this limitation particularly problematic because Diskeeper depends on the boot-time mode to defragment the pagefile. One workaround is to deploy to all your users a registry change that configures Frag Guard to schedule a boot-time fragmentation if the pagefile becomes too fragmented.

Diskeeper reports to the Application event log, so you can use Event Viewer to check the status of scheduled jobs by manually checking remote systems' logs. You can decide how much information the software reports to the log—as much as one entry for each defragmented file, although flooding your event logs with that kind of detail isn't practical. Best practice is probably to select Diskeeper's well-detailed summaries for the partitions, files, directories, MFT, and pagefile. To establish automated reporting, you would need to use a third-party reporting utility that monitors the event logs.

Performance
Diskeeper started strong in its first test: The software quickly defragmented the 8.4GB SQL Server database and 1.5GB log file on one of the HP servers' D partitions. Diskeeper recorded the lowest overall time in this first test and thoroughly defragmented the two large files. When I moved on to the other partitions, however, I began experiencing problems. Diskeeper's performance dropped off considerably. On the D partitions that contained progressively larger amounts of data, Diskeeper was competitive in the time it took to complete a defragmentation run, but the software consistently left large amounts of fragmented files and fragmented free space. In some cases, Diskeeper increased free-space fragmentation.

On the C partition, I first ran the recommended online defragmentation. The first online pass finished in record time but didn't accomplish much. Diskeeper's post-defragmentation analysis informed me that the partition was still heavily fragmented and that I needed to run Diskeeper several more times. I decided to try defragmenting the 1.5GB pagefile to improve the online-mode performance. I selected the C partition, opened the Actions menu from the Diskeeper GUI, and chose Boot-Time Defragmentation. The next menu let me select the system files that I wanted to defragment. I selected the directory and pagefile but skipped the MFT because it was contiguous. After I clicked OK, an error message stated that not enough contiguous space existed on the partition to defragment the pagefile. The message suggested that I purge unnecessary files, defragment only the directories, or run another online pass. I opted to run additional online passes, but each online pass defragmented fewer and fewer files. After 12 successive online passes, Diskeeper still didn't have enough room to defragment the pagefile. I then performed a boot-time defragmentation pass, choosing to defragment only the directories. The directory consolidation was successful but didn't resolve the problem of too little contiguous space, and Diskeeper once again rejected my attempt to defragment the pagefile.

Diskeeper obviously needed some help, so I decided to reduce the size of the pagefile. I was pleasantly surprised to find that Win2K places the pagefile on disk much more intelligently than NT does. Originally, my pagefile comprised 500 fragments. After I resized the pagefile to 1.15GB, the file contained only 21 fragments. However, Diskeeper still complained of insufficient contiguous free space for a boot-time defragmentation of the pagefile.

Determined to find Diskeeper's contiguous-space comfort zone, I reduced the pagefile's size to 900MB. This time, Win2K wrote the entire pagefile contiguously—eliminating the need to defragment it. Although my pagefile struggle was over, I still faced a heavily fragmented partition. I decided to run continual online passes until Diskeeper cleaned up the partition. After 21 passes, Diskeeper wouldn't defragment any more files. The result was a completely defragmented partition, except for four files that amounted to 11 fragments—a decent result, but hardly a practical means to get there. I contacted Executive Software to ask about these four files. A support technician told me that one of the files was on Diskeeper's internal exclusion list, and the others were always-open OS files that Diskeeper couldn't defragment. (After I got off the phone, I ran a single pass with Speed Disk to see if another product could successfully defragment the four files. When Speed Disk finished its 6-minute pass, the partition was completely defragmented.)

As you might expect, I fought an identical battle with Diskeeper over defragmenting the pagefile on the next C partition and got the same results. On the test cycle's final two partitions, I decided to simply let Diskeeper do its best job without manually manipulating the pagefile. Because my test parameters were for a single pass (or a combination of online and boot-time passes), the tables in the "Performance Results" sidebar show Diskeeper's results on the C partitions with the original pagefile and don't reflect my attempts to reduce the pagefile or run multiple online passes.

Diskeeper 6.0
Contact: Executive Software * 818-547-2050 or
800-829-6468
Web: http://www.execsoft.com
Price: $45 for Diskeeper Workstation; $245 for Diskeeper Server; volume discounts available
Decision Summary
Pros: Offers intuitive GUI; posted fastest defragmentation time of the three products; provides detailed reporting to the Application event log
Cons: Couldn't defragment the pagefile on the test systems; posted poor single-pass performance; doesn't permit remote scheduling of boot-time defragmentation

PerfectDisk 2000
Raxco released the latest version of PerfectDisk in April 2000. I received the product on one CD-ROM, which also contained a user guide in PDF format.

PerfectDisk runs on Win2K Server, Win2K Pro, NT Server 4.0, NT Workstation 4.0, Windows Millennium Edition (Windows Me), Win98, and Win95 OSR2. The product requires a minimum of 16MB of RAM but recommends 64MB. PerfectDisk supports NTFS, FAT16, and FAT32 file systems.

PerfectDisk's approach to hard disk defragmentation is similar to Diskeeper's—the product uses the MoveFile API to defragment files online. For defragmenting the metadata and pagefile, the software uses a proprietary boot-time process that enables exclusive access to the partition. You would typically schedule PerfectDisk to run regular online passes, then perform offline passes as necessary to keep the system files defragmented.

Although PerfectDisk and Diskeeper are similar in their use of the MoveFile API for online defragmentation, PerfectDisk uses a file-placement strategy called SMART Placement, which prevents future fragmentation. If you run PerfectDisk in both its online and boot-time modes, the software places the defragmented pagefile at the partition's logical center, with a chunk of contiguous free space on either side to accommodate the pagefile's growth. On one side of the free space, PerfectDisk places frequently modified files, followed by occasionally modified files, then rarely modified files. (PerfectDisk lets you configure the thresholds that define these categories.) The SMART Placement strategy provides space for contiguous growth of the files that are most likely to grow. Raxco claims that SMART Placement reduces the time required to run defragmentation passes because the file-placement strategy limits future fragmentation.

Installation, Deployment, and Central Management
A wizard took me through a quick and easy installation process that didn't require a reboot. The installation starts the PerfectDisk 2000 service, which uses the local system account to log on. The PerfectDisk 2000 service relies on the pdengine.exe file. This file, which appears as a process, occupies approximately 2.3MB of system resources while idle and increases to approximately 8MB during scans or defragmentation sessions.

The PerfectDisk 2000 GUI, which Figure 3 shows, consists of a dual-pane view—a hierarchical view of domains, workgroups, computers, and their partitions on the left, and a graphical bitmap representation of the selected partition on the right. PerfectDisk provides a color-coded representation of the partition's contents—you'll find categories for Rarely Modified, Occasionally Modified, and Frequently Modified files. Although the software gives you a category for Unmovable files, you're left guessing whether you're looking at the pagefile or metadata. In Figure 3, you can easily distinguish the pagefile in its defragmented state as a large block of black clusters. One interesting feature of the PerfectDisk interface is its Find File toolbar button, which lets you find any nonsystem file within the graphical display. Most administrators probably won't spend much time searching for files on a partition, but the feature might come in handy to ensure that PerfectDisk's SMART Placement is working as advertised.

PerfectDisk provided adequate HTML Help. Network scheduling topics were difficult to find, and a few screen shots were scrambled or missing. And I searched in vain for highly technical detail, as I did with Diskeeper's Help.

PerfectDisk's deployment options are similar to Diskeeper's. You can choose manual installation, or you can use SMS—along with a package-definition file that Raxco provides on the PerfectDisk CD-ROM—to deploy PerfectDisk to your clients. You can also use third-party deployment tools. PerfectDisk provides additional options for silent installation and GUI-less installation. If you install a GUI, you also have the option of password-protecting the interface. Finally, to permit easy integration with batch processes, you can run PerfectDisk from the command line.

You manage and schedule PerfectDisk for your network clients through the administrative GUI. Of the products in this comparative review, PerfectDisk has the most confusing scheduling feature. Scheduling relies on the existence of a profile. Each machine has a unique profile, which an end user can use to select the partitions to defragment. For network scheduling, however, you must use the special All Partitions profile. The All Partitions profile is unique for each machine, so you can selectively determine which partitions you want to defragment on specific machines. After you make the appropriate settings to the All Partitions profile for all your network clients, you then create a network schedule to specify the time, frequency, and mode of defragmentation that each client will follow.

For more flexibility, PerfectDisk provides Partition Notebooks for each system partition. To open the Partition Notebook, you double-click a system's partition icon in the PerfectDisk GUI's left pane. In the Partition Notebook, you can choose the areas of the partition that an offline pass defragments. For example, you can choose to skip the pagefile and defragment only the MFT and directories. You can also choose a fragmentation threshold that prevents the software from performing a defragmentation run until a partition reaches a specific level of fragmentation. By default, the software sets this threshold to zero so that scheduled passes always run. In the Partition Notebook, you also select the SMART Placement options.

When you create a schedule, you can then choose whether PerfectDisk will override the Partition Notebook settings. Therefore, if you want to create a network schedule for multiple systems with differing requirements, you must first modify Partition Notebook settings and each system's All Partitions profile, then launch the Schedule Wizard to apply a schedule to the All Partitions profile.

To start the Schedule Wizard, click the Schedule toolbar button or choose Network Schedule from the Schedule drop-down menu. Then, select the All Partitions profile from the resulting list and select the network computers you want to schedule. Figure 4, page 112, shows the Computer Selection Page, in which you simply select from the left pane the computers you want to defragment, then click the right arrow button to move those computers to the right pane. Click Next to select the file types (i.e., online versus offline) you want to defragment and choose whether you want to override the Partition Notebook settings for offline passes on the selected systems. On the next page, you can choose to run the schedule once, daily, or weekly, and you can select the time at which you want the defragmentation run to occur. The final screen provides a schedule summary, which tells you whether the software successfully set the schedule on each system in the list. If you want to change or delete a schedule, you must repeat the entire routine, either selecting different options or canceling existing schedules. Although I eventually mastered this regimen, I found the process unintuitive and awkward.

PerfectDisk provides a handy tool that lets you check existing schedules. The Schedule Query Wizard's interface is identical to that of the Computer Selection Page. The only difference is that you select the systems you want to query. After you make your choices and click OK, the wizard displays a window that shows schedule summaries for the systems you selected.

Performance
I started PerfectDisk on the partition that held the SQL Server database and immediately experienced a problem. Each time I attempted to defragment the database and log files, I got an error message stating that I had insufficient free space to defragment the file. The problem surprised me because Diskeeper was successful in this test, and both products use the MoveFile API. I called Raxco, and a support technician explained that online defragmentation using the MoveFile API requires a block of contiguous free space that's equal to or greater than the size of the largest file on your disk. This explanation prompted me to call Executive Software to verify that Diskeeper indeed uses the same API. (It does.) Regardless of the reason, PerfectDisk doesn't deal well with large files unless a disk also has equally large blocks of free space.

On the other nonsystem partitions, PerfectDisk performed thorough defragmentation runs, but the software was consistently slower than the other products in this review—particularly on the system partitions. In fact, PerfectDisk didn't defragment system partitions as successfully as it defragmented nonsystem partitions. Overall, the time that PerfectDisk required to defragment a partition increased as the fragmentation level increased. However, as the amount of free space decreased, the time PerfectDisk needed to finish a pass rose sharply. If you look strictly at the elapsed-time figures, PerfectDisk's performance is less than stellar. But if you focus on how well the product defragments files, PerfectDisk is a solid performer.

PerfectDisk lets you run an offline defragmentation pass on nonsystem partitions without rebooting. To do this, PerfectDisk locks the nonsystem partition for exclusive access and defragments system files (e.g., the MFT, other metadata files) that are typically unmovable under an active OS. To test this functionality, I simply right-clicked a partition and chose Offline Defragment from the resulting menu. PerfectDisk warned me that it couldn't obtain exclusive access to the partition and asked whether I wanted to close all open handles (i.e., files). I clicked Yes, and PerfectDisk launched an offline pass. During this process, the partition icon in the window's left pane displayed a padlock icon, illustrating that the software had locked the partition for exclusive access. When the pass finished, PerfectDisk displayed an offline statistics summary that showed the results of the pass. I tried the offline defragmentation on several random machines, and as long as PerfectDisk could lock a partition for exclusive use, it completely defragmented the MFT and other metadata files. On one dual-boot laptop, PerfectDisk completely defragmented an MFT that was fragmented into 108 pieces.

PerfectDisk saves collected statistics to log files. You can specify where the software saves the logs, whether the software should overwrite the logs, and the level of log detail. PerfectDisk reports success and error events to the Application event log, but it records detailed partition information (e.g., fragmentation statistics) only to its own logs. Therefore, automating the collection of information for reporting purposes can be difficult. However, PerfectDisk is sufficiently flexible to let you use third-party reporting products or a simple log-storage scheme to browse for a folder and check individual system results.

PerfectDisk 2000
Contact: Raxco Software * 800-546-9728 or
301-527-0803
Web: http://www.raxco.com
Price: $44 for PerfectDisk 2000 Workstation; $219 for PerfectDisk 2000 Server; volume discounts available
Decision Summary
Pros: Thoroughly defragments partitions; runs well on systems with less fragmentation and more free space; provides one GUI for multiple OSs
Cons: Won't defragment a large file without an equally large block of available free space; posted slowest defragmentation time of the three products; Network Scheduling features are nonintuitive

Norton Speed Disk 5.1
At the time of testing, Symantec's most recent Speed Disk release was version 5.1, which the company had just released to market. I received Speed Disk's server and workstation versions on separate CD-ROMs. Speed Disk runs on Win2K Server, Win2K Pro, and NT 4.0 SP3 or later. Speed Disk doesn't currently support NT Server 4.0, Terminal Server Edition (WTS) or Win2K Server Terminal Services. To defragment Windows Me and Win9x systems, you need a separate Symantec product—Norton Utilities or Norton SystemWorks. Speed Disk supports NTFS, FAT16, and FAT32 file systems. The Server CD-ROM contains a Getting Started Guide, User Guide, and Implementation Guide, all in PDF format.

Speed Disk's defragmentation approach is different from the approaches of the other two products I tested. Speed Disk doesn't use the MoveFile API. Instead, Symantec has developed a proprietary method for moving all files while the OS is active. A Symantec engineer described the company's defragmentation method as a push-pull approach that continually synchronizes its activity with the NT file system to ensure data integrity. The obvious advantage to this approach is that it eliminates the need to reboot a system and perform an offline defragmentation pass. The disadvantage is that OS changes could potentially render Speed Disk unusable until Symantec revises the code to accommodate the OS changes. Apparently, Symantec thinks that the performance and usability enhancements that its programmatic approach provides are worth this risk. So far, the gamble seems to have been worthwhile. However, because of code changes in WTS, Speed Disk doesn't currently support that platform. At the time of testing, Speed Disk wouldn't run on a Win2K system running Terminal Services.

Like the other products, Speed Disk has a unique approach to file placement. Whereas Diskeeper performs no specific file placement outside its Frag Guard feature and PerfectDisk has a file-placement strategy that prevents future fragmentation, Speed Disk uses an involved scheme to prevent future fragmentation and enhance disk performance.

Speed Disk organizes files into multiple zones. The placement strategy is similar to PerfectDisk's, except that Speed Disk considers performance in its placement of certain zones. To accommodate fast access, the software places your most frequently accessed files toward the outside of the disk, as close to the read/write head as possible. Speed Disk places the pagefile even closer to the head, and the metadata and the MFT reserved zone take their traditional positions at the extreme outside edge of the disk. Speed Disk then places its most frequently changed files—the files that are most likely to grow—toward the logical center of the disk, followed by contiguous free space so that new files won't be fragmented. Between these bands of grouped files, Speed Disk clears small sections of free space (i.e., slack space) to accommodate limited growth. Finally, Speed Disk places infrequently accessed files closest to the disk spindle—theoretically, the disk's slowest portion.

Speed Disk's strategy is complex, and Symantec's detractors claim that you'll realize little measurable performance gain from file placement. Nonetheless, Speed Disk pursues its strategy vigorously. Graphical representations of defragmented partitions clearly show the strategy in action.

Installation, Deployment, and Central Management
I used Speed Disk's installation wizard to install the product. The process proceeded smoothly. After the required reboot, I checked for new services and found the Speed Disk service running in the context of the local machine account. When I launched Speed Disk, two processes started: nopdb.exe, the defragmentation engine, and sdnt.exe, the GUI executable. Each process consumed 5MB to 8MB of system resources during a manual defragmentation run. Speed Disk also supports command-line execution, which eliminates the GUI overhead and facilitates batch processing.

Of the three tested products, Speed Disk has my least favorite GUI. Although the interface is certainly colorful and provides pie charts to illustrate data, it provides only limited information and doesn't let you save text-based reports, as the other products' GUIs do. Speed Disk does log detailed information to the Application event log, although Diskeeper and PerfectDisk still do a better job in that area. Figure 5 shows Speed Disk's administrative GUI. The interface provides impressive details about free-space fragmentation—a feature absent from the other products—but the interface doesn't specifically report on the MFT, MFT reserved zone, pagefile, or directories.

The Analysis view doesn't show a bitmap representation of the partition. To access a graphical representation, you must go to the Optimization Map view and launch a defragmentation pass. Speed Disk then displays a bitmap of tiny color-coded blocks. The legend for deciphering the bitmap contains no fewer than 17 colors, some of which are difficult to distinguish from others. You can change the legend's colors by clicking an item and selecting a different color. Only after I changed the colors and noticed the changes in the bitmap image was I able to make sense of the legend and its references to the graphical display.

You can distribute Speed Disk manually, with a third-party deployment tool, or in conjunction with SMS. (The Speed Disk Server CD-ROM contains a package- definition file that you can use with SMS.) Another deployment option is to use NSC, which you'll find on the Speed Disk 5.1 Server CD-ROM. NSC provides a framework specifically for managing Symantec network products. Choosing the NSC method will depend mostly on whether you've invested in another remote-deployment or management application. Other management applications can perform most of NSC's management tasks, but if you don't use a deployment or management application, NSC's inclusion as part of the defragmentation utility is a bonus.

NSC installation is more involved than the installation of a defragmentation utility. The process required that I have MMC and Microsoft Internet Explorer (IE) 4.0 or later on my system. The installation proceeded smoothly and set up NSC, along with other related components for performing live updates and managing events that Symantec products generate. I then installed the required Norton Agent on all the network systems on which I wanted to deploy Speed Disk. Next, I used NSC to create a job to install Speed Disk on target machines. (I used the Speed Disk Install Package provided as part of NSC.) I launched the job, and the deployment process finished without incident.

I used the MMC NSC Console snap-in to schedule defragmentation passes with Speed Disk. From within the console, I right-clicked the Jobs node in the control tree, chose New Job, and named the job. Next, I chose Norton Speed Disk Install Package from the Software distribution package list box. Finally, in the Browse for Targets window, which Figure 6 shows, I selected the systems I wanted to schedule. After I completed the scheduling process, the jobs launched as I expected on the selected target machines.

NSC also lets you audit target machines for information about whether Speed Disk is installed, whether Speed Disk has ever run, whether an optimization has run in the past 4 days, and whether partitions have exceeded the fragmentation thresholds that you've defined. Although NSC has a steep learning curve, its deployment and management functionality is a definite enhancement that makes NSC worth your effort.

Performance
In my tests, Speed Disk's consistently solid performance distinguished the product from its competitors. I started Speed Disk on the 8.4GB SQL Server database, and the product finished the job with impressive results, although the defragmentation took twice as long as a Diskeeper run. When I moved on to the next system, which hosted the near-capacity data partition, Speed Disk struggled—just as the other products did. This particular disk was the anomaly, however; Speed Disk turned in good results on the remaining two data partitions, posting particularly fine numbers in free-space consolidation. Speed Disk performed admirably on the system partitions, achieving nearly complete defragmentation in good time.

One problem I noticed during testing: Speed Disk consistently broke a previously contiguous MFT into at least two fragments. On two occasions, the software divided the MFT into several fragments. I called Symantec to troubleshoot this problem, and an engineer told me that Speed Disk commonly breaks the MFT into a few fragments in the process of consolidating files on a partition. He also stated that Speed Disk's file-placement strategy always causes the MFT to fragment into two pieces. This explanation struck me as odd. However, Speed Disk did a good job at overall file defragmentation, so an additional MFT fragment didn't overly concern me.

In my performance testing, Speed Disk posted respectable results and—as a bonus—didn't require a reboot to consolidate the system files. The lack of a required reboot might not be a big deal to 9-to-5 organizations, but it appeals tremendously to operations that require high availability and don't like to shut down servers unless absolutely necessary. Remember that the performance of any defragmentation utility will suffer on a busy server. Therefore, high-availability shops still need to schedule defragmentation passes to occur during off-peak hours and adjust performance expectations accordingly.

Norton Speed Disk 5.1
Contact: Symantec * 800-441-7234 or 408-253-9600
Web: http://www.symantec.com
Price: $49.95 for Speed Disk 5.1 Workstation; $229 for Speed Disk 5.1 Server; volume discounts available
Decision Summary:
Pros: Operates on system files without requiring a reboot; admirably defragments free space; provides a multifaceted deployment tool
Cons: Doesn't use APIs and might require revision if Microsoft alters its OS; GUI is difficult to read; event-log statistics are limited