- Interact with Azure Cosmos DB with PowerShell - Tue, Sep 14 2021
- Azure health services: Track Microsoft cloud outages and maintenance - Wed, Sep 8 2021
- Powerline: Customize your PowerShell console - Tue, Aug 31 2021
As I'm pretty sure you already know, file system fragmentation reduces mechanical hard disk drive (HDD) lifetime and slows input/output (I/O) performance. This type of fragmentation occurs when the NTFS file system allocates file contents in discontinuous clusters.
When the mechanical disk needs to swipe its read/write heads repeatedly across disk spindles to read all noncontiguous clusters that make up a file, you get slower performance and undue wear and tear on physical components.
Thus, any Windows server administrator worth his or her salt needs to schedule defragmentation on all HDD volumes, especially on file servers and database servers. Condusiv Technologies makes Diskeeper, an industry-standard utility that addresses fragmentation proactively by eliminating it altogether so traditional defragmentation processes do not have to be run. The product ships in three versions:
- Diskeeper Server: for Windows Server computers
- Diskeeper Professional: for business computers
- Diskeeper Home Edition: for home computers
In today's lesson, we'll focus on Diskeeper Server running on Windows Server 2016 virtual machines (VMs). Oh—Condusiv also makes SSDKeeper for solid-state disk (SSD) storage. In fact, I reviewed that product earlier this year. Condusiv’s V-locity I/O reduction software solves slow application performance issues in virtual environments like MS-SQL/Oracle, CRM, ERP, File Servers, Imaging, Web Servers, Backups, VDI.
Installation and general usage ^
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
- Windows Server 2008 R2
Normally, you might expect a disk defragmenter to run only when you manually invoke it (or perhaps via a Task Scheduler task). However, Diskeeper 16 works in a fundamentally different fashion. First, you have an autostart service, which you can check by running the following PowerShell command:
PS C:\Users\tim> Get-Service -Name diskeeper Status Name DisplayName ------ ---- ----------- Running Diskeeper Diskeeper
Second, you'll see Diskeeper running in the notification area. Hover over the icon, and you'll see real-time stats as to how much I/O time and read/write cycles the product has saved you thus far:
Open the Diskeeper user interface (UI) and click Settings. Here you'll see the features responsible for the real-time, proactive defragmentation. First, an interface screen shot:
IntelliWrite is a proprietary technology whose goal is to prevent file system fragmentation before it happens. This is really why Diskeeper needs to run in the background because it optimizes writes in real-time. It works on a per-volume level to orchestrate file allocation to keep associated clusters as contiguous as possible. According to Condusiv, IntelliWrite prevents 85 percent or more fragmentation.
Instant Defrag works alongside IntelliWrite both to reduce unnecessary disk I/O operations as well as to perform "on-the-fly" defragmentation in cases where IntelliWrite is unable to prevent it from occurring in the first place.
Finally, IntelliMemory Caching is a new feature in Diskeeper 16 that utilizes idle, available DRAM (hardware memory) to cache frequently accessed data. Nothing has to be allocated for cache as IntelliMemory adjusts automatically to only use what is otherwise idle so there is never memory contention issues. As you would logically (and correctly) assume, this feature dramatically increases performance as DRAM is 15X faster than SSDs.
You can always run manual defragmentation jobs in Diskeeper by clicking Actions > Perform Manual Operations, selecting a volume, and clicking Optimize. Here's the interface:
In the Diskeeper Server UI, navigate to the Reports tab to view the following types of system-monitoring data:
- CPU usage
- Drive I/O activity
- Processes with highest resource utilization
- Processes with lowest resource utilization
Diskeeper reporting interface
You can either print the reports directly from Diskeeper Server or export the reports to PDF format.
Larger-scale management ^
You may determine you need Diskeeper to protect some or all of your infrastructure servers. To that end, Condusiv does have a volume-licensing option for all of their products. If you deploy Diskeeper to that level, however, you may want to consider Diskeeper Administrator.
Diskeeper Administrator centralizes your Diskeeper environment across server and even desktop systems. Diskeeper uses a SQL Server database on the back end (also supporting SQL Express) and a "thick client" front-end application, shown in the following screen capture:
Diskeeper allows you to:
- Deploy it over the network
- Standardize configuration settings
- Remotely administer Diskeeper on any managed computer
- Scan the network and aggregate performance metadata
- Generate defragmentation and low disk space reports
I make no secret of the fact that I have used Diskeeper professionally and personally for most of my career of nearly 20 years. The product works as advertised, and is rock solid and stable.
If you're interested, you might check out the other Condusiv products in their portfolio:
Subscribe to 4sysops newsletter!
- SSDkeeper: Like Diskeeper, but aimed at optimizing SSD drives
- V-locity: Optimization for virtualized environments regardless of HDD or SSD storage
- Undelete: File recovery for file servers and workstations