Diskeeper has been around since 1981, a big accomplishment for a software company. Originally developed to improve performance on VAX machines, Diskeeper eventually found its way into Microsoft Windows operating systems. The defragmenter that comes built-in to Windows 2000, Windows XP, and Windows Server 2003 is a pared-down version of Diskeeper.
The core concept behind Diskeeper is that a computer will write files to a disk wherever there is space. If a small “hole” exists, the operating system will put a part of the file in that hole, and put the rest elsewhere. It then uses an index to look up where all parts of a file are before it assembles it back together to give to the user. As you use a computer, the file system gets more and more fragmented as holes are created and filled. This leaves the hard drive having to “jump all over the place” to read files. Defragmentation is the process in which the software finds all the files, creates large enough gaps for the entire thing, and writes them into contiguous blocks so that the hard drive only has to put the head down once, read the entire file, and then go on to the next task. Of course, all of that went out the window with SSD technology, but most computers still use mechanical hard drives.
Therefore, the question must be asked: What is Diskeeper doing to remain relevant? Will we even need them in another few years?
For the past week and a half, I’ve been putting Diskeeper 2011 through its paces, which is to say; I have been most unkind to my system, and truly hammered on every resource relentlessly. But before we get to the results, let’s examine what Diskeeper 2011 offers users.
First, Diskeeper is for defragmentation of file systems. Say whatever you like; defragmentation is absolutely proven to help on Windows systems of all flavors—be it FAT or NTFS. But even in Windows 7, Microsoft’s included defragmentation utility is, shall we say, not exactly that great. This has been true since Windows NT, and has created a cottage industry of defragmentation software.
With Diskeeper 2011 Professional, they’ve added two key features we’ll be looking at. The first is Instant Defrag™. This intercepts disk writes for both spinning and solid state disks, and attempts to prevent fragmentation from even occurring in the first place. The second is called I-FAAST, which monitors the most frequently accessed files to improve file access speed. I-FAAST isn’t available in the Home edition of Diskeeper 2011—only for Professional and up.
While I may use my system for gaming, calling it a “home” system does it a disservice. My 12GB of RAM isn’t for loading games into RAMdisks, and it isn’t for show. It’s for VMware Workstation, the primary consumer and abuser of system resources. VMware Workstation can be incredibly hard on mechanical disks, and that’s where I locate almost all of my VMs due to space constraints—the average guest VM size is 64GB. The OS and a number of frequently used applications reside on a 120GB solid state drive.
First though, how does Diskkeper 2011 work compared to the included Windows defragmentation utility when simply defragmenting? The answer is: reply hazy, ask again. Applications have gotten somewhat better at avoiding fragmentation, and the Windows utility has improved. Diskeeper 2011, when run for the first time claimed that my mechanical disk was less than 5% fragmented. Given I’d just cleaned up stale VMs, that sounds pretty reasonable overall.
That said, I subjected it to a week and a half long battery of abuse and misuse. I left all the settings at their defaults, since most users aren’t likely to want to go tweaking everything. The defaults are very reasonable, disabling no advanced features like automatic defragmentation, IntelliWrite, HyperFast, I-FAAST and Volume Shadow Copy method. Instead, all features are set to “automatically detect” and turn on for specific volumes as necessary.
Being SSD-aware provides both advantages and disadvantages. First, it prevents certain actions and features from being used improperly on SSDs; Diskeeper 2011 automatically detected the correct SSD, and disabled IntelliWrite and marked I-FAAST as unavailable for SSDs while enabling HyperFast and automatic defragmentation. I didn’t have to do anything myself for these settings; it was all handled automagically.
When you may be deploying it to dozens or even hundreds of systems in desperate need of a speed boost, having good automatic settings is crucial, and Diskeeper definitely makes the grade here. And since much of my workstation loads emulate or virtualize actual server workloads, this is about as much of a shakedown as any defragmentation software is going to get. Combine it with frequently updating games and Steam, and you’ve got a recipe for disaster if the software doesn’t make the grade.
One thing I found was that Diskeeper is very intelligent. Over a one week period, it never opted to enable I-FAAST on any volume, despite ample space being available on the SSD. When I checked, it simply said that I-FAAST wouldn’t offer any improvement over what it was already seeing. Properly laying out your files when you have a mix of SSD and mechanical definitely helps, but that mechanical disk still needs to be defragmented. When defragmentation isn’t enough, that’s when I-FAAST kicks in. Using Microsoft’s built-in Volume Shadow Copy Service, it places only the worst of the worst performing fragments and files on the SSD, trying to avoid putting excessive strain on drives with TRIM. Having experience with similar older methods, I can guarantee you that this method can and does work. Diskeeper 2011 is just smart enough to not abuse the privilege and only use it when it absolutely has to.
According to the internal reporting from Diskeeper, it estimates that IntelliWrite prevented a mind-boggling 520,381 fragments on my mechanical disk. To put that number in perspective for those of you considering Diskeeper for your servers—every fragment corresponds to at least one I/O operation with its associated penalties. That’s more IOPS than I see on most SQL Server 2005 instances. So, unfortunately, I have to conclude that the estimation is most likely off by quite a bit. I suspect it is counting files like browser cache multiple times. That doesn’t mean it didn’t avoid repeated fragmentation, but even my workload would be hard pressed to generate that much abuse.
However, when it comes to actual fragments it knows it has eliminated, the numbers appear to be spot on. And they’re equally Huge McBigLarge. In seven days, it was able to eliminate over 7,500 fragments; that’s no number to sneeze at. It never allowed the number of fragmented files to go over 1,000, but did so without intruding on normal work. In other words; I saw absolutely no performance hit from Diskeeper’s IntelliWrite and automatic defragmentation.
But when you’re talking about servers and high end workstations, is this product really going to help you? Is this worth the investment? Sure, it’s doing a great job with a moderate workstation load, but what happens when we throw a real torture test at it?
The torture test
Using VMware Workstation, I created three VMs. Two were thinly provisioned (create and add files to emulate disk only as needed), one running FreeBSD 8.1-RELEASE sized at 64GB and the other Windows Server 2008 R2 x64 sized at 40GB. Then, a third was created with all 40GB pre-allocated for Windows Server 2008 R2. None of these used VMware’s smart installation, ensuring that the thin disks would start at zero. In less than twenty minutes, 144GB of disk was now mostly spoken for. VMDK files are especially likely to fragment when thinly provisioned on Windows, especially when you follow their creation with a pre-allocated disk.
Starting with the Windows 2008 R2 pre-allocated disk, it was done as a single 40GB VMDK file. Diskeeper’s response to this was laughter, as IntelliWrite merrily eliminated nearly 500 fragments in the process. The entire VMDK was written nearly contiguous out of the gate, creating a 40GB gap between the other two VMs and the next free block.
First to suffer was the FreeBSD 8.1 VM; it was installed from an ISO image located on a NAS to maximize speed, and time was compared to known values from a pre-allocated VM installation. Difference? Zero. Fragmentation? Negligible. Diskeeper had no problem leveraging IntelliWrite to avoid 4GB worth of potential fragments, and did it without affecting performance in the least.
Second came the Windows 2008 R2. I went through Windows setup, then configured it as an Active Directory server for a fictional domain. This resulted in 28.7GB of disk writes to the VMDK files backing the VM—a large volume of writes by any measure. Throughout, I couldn’t see any performance impact, as Diskeeper made way for the needed CPU cycles.
The end result of this madness? I ran an analysis against the SATA disk holding them, and found Diskeeper’s one weakness—that 28.7GB single file seemed to have caught it flat-footed, resulting in a large red spot on the file system layout. I ran a manual defragmentation with Volume Shadow Copy enabled, to let it work with open files, but to no avail. I shut down the VM, closed out VMware Workstation, and tried again with a standard defragmentation. This time, it succeeded in eliminating the massive red spot in the analysis report.
The way Diskeeper uses Volume Shadow Copy Services, by the way, will be of no small concern to many administrators. It can and will overwrite existing snapshots if you perform a manual defragmentation, and can even expand the VSS space on some systems to accommodate particularly large files. If you’re using VSS-enabled or VSS-based snapshots for data protection, you’ll definitely want to rely on Automatic Defragmentation and IntelliWrite—the only time you’re likely to see a real problem is if you do a very large restore. For workstations, the best advice may be to advise users to enable Boot Time Defragmentation if they’re creating and destroying VMs locally on a regular basis, regardless of the software used to do it.
As Diskeeper is pushing into the corporate and enterprise space, the question has to be asked: Phillip, would you install this on your Windows servers and workstations? Would you spend a chunk of your budget on this? In return, I would ask you this: why wouldn’t you? For workstations using any sort of virtualization or often working with exceptionally large files, this software just may be the difference between one disk and a two disk RAID0 and the risks that come with it. For servers, there’s simply no real disadvantage. The problem used to be that defragmentation software required a long time and near exclusive disk access to do its job; not even remotely so with Diskeeper 2011. It’s transparent, quiet, and effective enough to improve all file system operations on systems with direct attach storage and even some SAN environments—even if they’re virtualized. Fragmentation is a file system level problem, after all.
For home? Well, the Home version of Diskeeper 2011 doesn’t include I-FAAST. Does this mean you’re missing out with the Home version? No. I-FAAST never once self-enabled on my workstation, despite my best efforts. I even checked repeatedly to ensure I had it set to automatic. Even if you think your disk is fast enough, there’s no disadvantages to adding Diskeeper 2011 Home to your arsenal, and if you play games you can rest assured it has the potential to help reduce load times—possibly significantly.
Diskeeper 2011 Professional is available for your workstations and servers starting at $59.95, and Home Edition starts at $39.95, available directly from Diskeeper Corporation. For those particularly large enterprise servers they offer Pro Premier, and for Windows Home Server there’s Diskeeper 2011 HomeServer. All of their software is available as a fully functioning trial and they back it up with an unconditional 30 day money back guarantee.
We’re happy to award Diskeeper 2011 our Icrontic Stamp of Approval.