How to Improve Windows Performance with a New File System
Want to beef up your Windows PC? You can boost software performance and storage reliability with two technologies: Redundant Array of Independent Drives (RAID) and Microsoft’s Resilient File System (ReFS). The only requirement is, at least, two spare drives.
Are you wondering whether ReFS performs on par with the aging NTFS? This article compares the performance of Microsoft’s new file system to RAID1, RAID0, and single disk performance. And we’ll discuss the possible uses for RAID1-ReFS.
Getting Started With RAID
Creating a RAID volume is now really easy using Windows Storage Spaces. Users just type Storage Spaces into the Search bar and launch the program.
After launching Storage Spaces, you’ll need to select the Change settings button.
You will then create the storage pool. Select Create a storage. Then choose two spare drives to add to the array. It’s important to note that adding or removing a drive from the volume will destroy all data on the disk, so exercise caution.
You will then see configurable options for creating the storage pool. The two parts you need to pay attention to are: (1) Resiliency type and (2) File system. Resiliency type with two drives is limited to either Two-way mirror (RAID1) and Simple (RAID0). Partition type includes NTFS and ReFS. If you choose Simple, your only option is NTFS, as ReFS is designed for two or more drives.
After creating a RAID volume and assigning a drive letter, the partition functions in a similar manner as a hard disk. Users can share a drive over a network, move files to it, or configure video or photo editing software to write cache data to it. In the last capacity, RAID can improve the performance of many commercial applications, such as Adobe Premiere and Photoshop. As indicated, different kinds of software RAID exist, each with advantages and disadvantages.
Within the Windows Operating System (OS), three primary types of consumer RAID exist: RAID1, RAID0, and RAID5 (there are a lot of other RAID variations). On top of that, there are two common ways to format RAID: NTFS and Resilient File System (ReFS). ReFS arrived in Windows 8.1 and while still evolving, it offers reliability and performance.
Windows RAID Types
- RAID0: RAID0 is technically a misnomer. It uses two drives, but nothing about the arrangement is redundant. Each drive holds half of the data installed on the assembly. Rather than providing redundancy, RAID0 provides pure performance. RAID0 can’t be formatted in ReFS so it’s pretty much stuck with NTFS.
- RAID1: RAID1, or mirroring, requires two drives. Its drawback is that it provides the storage capacity of only one drive. Data is copied equally across both drives, which provides redundancy if anything happens to one of the disks. RAID1 also speeds up disk reads, which can lead to faster launching programs and faster reads from cache.
- RAID5: I won’t cover RAID5 in this article. It requires three drives at least, but provides a larger amount of available storage capacity than RAID1.
Windows File System Types
The two important file systems (what’s a file system? ) in Windows 10 are Resilient File System (ReFS) and the time-worn “New” Technology File System (NTFS). NTFS is the standard file system on Windows, but if you have two or more (identical or very similar) spare hard drives, consider using ReFS. ReFS reduces bit-rot, making it ideal for formatting storage systems. And it yields similar performance as an NTFS-formatted RAID1 partition. While ReFS is relatively new and potentially suffers from bugs, my experience with it has been superb.
The RAID Benchmarks
Drive performance can impact a lot of different computing tasks on Windows. In particular, browsing the Internet oftentimes reads and writes data to a browser cache . If the cache resides on a slow disk, the browser feels less snappy than if it inhabited a fast Solid State Drive (what’s an SSD? ), which is why we benchmark hard drives.
To determine what kind of array and file system is fastest, I threw together a test machine with a SATA dock and plugged in two moldering OCZ Onyx SSDs. I benchmarked four RAID configurations: RAID1 (NTFS), RAID1 (ReFS), RAID0, and as a single NTFS-formatted drive. I used AS-SSD for all synthetic benchmarks and compared them against CrystalDiskMark , as a secondary means of validating AS-SSD’s results. Finally, I ran several “real-world” tests using 7-Zip and Handbrake (5 uses for Handbrake ). A test using Android Studio as a compiler failed completely.
Random Reads and Random Writes (4KB)
RAID arrays don’t handle short queue depths very well (which most users require). Therefore, I’d advise not using RAID for browsing or office productivity. There’s a ~9% advantage to using a single drive for random reads over other disk configurations.
For write-speeds, RAID0 dominates on its competition. It’s nearly 50% faster than competitors. This makes sense, considering that both RAID1 and single drives simply copy data equally across all the drives, whereas RAID0 splits writes up between both drives.
Sequential Reads and Sequential Writes (4KB)
Sequential read-speeds are generally indicative of disk copying activities. Whenever you move files around, better performance should translate into faster transfer of files. RAID1 dramatically improves on sequential disk-reads over single disks and RAID0. In theory, RAID0 should also improve sequential disk-reads, but for some reason the synthetic benchmark did not bear this assumption out.
Sequential reads and writes are emblematic of file copying. As expected, RAID1-ReFS performs the worst because it performs checksums on copied data. However, the performance hit isn’t very significant. Conversely, RAID0 performs far below expectation, although it’s slightly faster than a single drive and RAID1-NTFS.
Random Reads and Random Writes (4KB, 64 Queue Depth)
Benchmarks using a deep queue depth, combined with random reads and writes, should predict server performance and other commercial applications. In theory, RAID0 should (and does) offer the fastest disk performance out of the four kinds of disk arrangements. But RAID1 comes very close in terms of read speed and it offers data redundancy. If RAID1 is formatted in ReFS, it loses very little read speed, compared to NTFS.
For write performance in a deep queue, RAID0 dominates. And both RAID1-NTFS and RAID1-ReFS suffer from an insignificant performance penalty because of overhead associated with maintaining the array.
Real World Performance
In terms of real-world performance, the results are far less interesting. In both Handbrake encoding and 7-Zip (unzip), RAID0 had roughly a 2-3% advantage in performance. For zipping a large, 300MB folder of photos, all the arrays performed worse than a single drive, with a difference of 7% between a single drive and RAID1-ReFS.
Unfortunately, I had to throw some data out. For example, compiling from source code resulted in a tremendous performance advantage in favor of RAID1-ReFS. The difference was so large that I am relatively certain that my methodology is seriously flawed. RAID1 performed almost twice as fast as a single drive and RAID0 offered about a 20% performance increase over a single drive. I’m not including a chart as I need to rerun tests to confirm. It may be that there’s something wrong with my build environment or test methodology.
Possible Applications for RAID in Windows
Based on the benchmarks, suitable applications for RAID are as follows:
- Cache/scratch drive for photo and video editing.
- Creating a network storage drive with data redundancy and bit-rot protection.
- Software storage drive.
Cache/scratch drive: Intel’s Rapid Storage Technology (RST) drivers allow users to designate another drive as cache drive. In this capacity, lots of reads and writes are made to the drive. A RAID0 array offers — on paper — the biggest advantage. Although the real-world benchmarks indicate that a single SSD would probably offer the biggest gains in performance.
Network Storage Drive: The obvious use for ReFS is as a storage drive. Its data integrity properies combined with the large read-speed buffs make it great for streaming media over a fast network (why you need 5GHz ).
Software Storage Drive: In this arrangement, users simply install software to the RAID1 partition. Because of its read-speed advantage, data redundancy, and bit-rot protection, RAID1 formatted with ReFS is a big upgrade over RAID1 formatted with NTFS. Although it takes a minor hit in performance relative to RAID1-NTFS, the gains in data integrity far offset its shortcomings. And in a production environment, the data-integrity buff might be worthwhile.
RAID1-ReFS Is Really Good
A RAID array formatted in ReFS only incurs a small performance hit over NTFS — which is clearly worth the tradeoff. While I don’t have the number of disks necessary to test other RAID configurations (such as RAID5), the results for RAID1 are encouraging. I assume ReFS would perform at least as well on other kinds of arrays.
My opinon: While not advertised as ready for production environments, in my experience ReFS is most optimally used in storage systems and as a software storage drive. It could also make for a halfway decent cache drive.
Have you tried to use ReFS? What were your results?