Server 2016 ReFS File System Performance

Resilient File System (ReFS) is a new file system introduced in the Microsoft Windows Server 2012 R2 and updated in the Windows Server 2016. The ReFS file system is designed to be more fault-tolerant with automatic integrity checking and self healing capabilities. The ReFS file system is supposed to replace the NTFS file system in the future. The purpose of this review is to compare the performance of the ReFS file system to the NTFS file system for different types of file copy, file search, file delete and file management operations on Server 2016 and Server 2012 R2.

Server 2016 vs. Server 2012 R2 ReFS File Copy Performance

For this performance review we have performed a number of different file copy, file synchronization, directory scanning, file search, disk space analysis, file attribute change operations, duplicate files search and file delete performance tests using four different sets of files: small files, medium-sized files, large files and huge files. All tests were performed on exactly the same hardware platform, in the same order using the same sets of files for each tested file system and operating system.

Tested Operating Systems
  • Server 2016
  • Server 2012 R2
Test Servers Hardware Configuration
  • Intel Xeon Quad-Core CPU
  • 8 GB of system memory
  • Samsung 850 PRO 512 GB SSD
  • Intel Gigabit Ethernet
Test Data Sets
  • Small Files - 250,000 files with the average file size of 16 KB
  • Medium-Sized Files - 50,000 files with the average file size of 64 KB
  • Large Files - 1,000 files with the average file size of 4 MB
  • Huge Files - 32 files with the average file size of 1 GB
Performance Tests
  • File Copy
  • File Synchronization
  • Disk Space Analysis
  • Duplicate Files Search
  • Change File Timestamps
  • Change File Attributes
  • File Delete

All tests were performed using the DiskBoss file management toolkit, which is capable of performing different types of disk space analysis, file copy, file synchronization, file search, file management and file delete operations. For all tested operating systems, each test was performed 4 times using 1, 2, 3 and 4 parallel threads.

During each test, the server was monitored using the SysGauge system monitoring utility configured to monitor the disk transfer rate, the amount of the free system memory and the amount of the cached memory, which is normally used as the file system cache during file copy operations.

Server 2016 ReFS vs. NTFS File Copy Performance

When copying small files to an SSD disk formatted using the Server 2016 ReFS file system, the average performance of file copy operations reaches 13.45 MB/Sec compared to 63.83 MB/Sec delivered by the NTFS file system on the same SSD disk. When copying medium-sized files to an SSD disk formatted using the Server 2016 ReFS file system, the average performance of file copy operations reaches 34.35 MB/Sec compared to 116.38 MB/Sec delivered by the NTFS file system on the same SSD disk.

Server 2016 NTFS vs. ReFS File Copy Performance

According to our specific benchmarks, the performance of the Server 2016 ReFS file system for small and medium-sized files is significantly lower then the performance delivered by the NTFS file system on the same hardware platform. For large files, the performance of the Server ReFS file system is slightly better, but still inferior to the performance of the NTFS file system on the same hardware platform.

When copying large files to an SSD disk formatted using the Server 2016 ReFS file system, the average performance of file copy operations reaches 120.68 MB/Sec compared to 178.25 MB/Sec delivered by the NTFS file system on the same SSD disk. When copying huge files to an SSD disk formatted using the Server 2016 ReFS file system, the average performance of file copy operations reaches 314.6 MB/Sec compared to 353.63 MB/Sec delivered by the NTFS file system on the same SSD disk.

Server 2016 ReFS vs. NTFS File Management Operations

When scanning directories and analyzing disk space usage on an SSD disk formatted using the Server 2016 ReFS file system, the performance of the analysis operation reaches 21,018 Files/Sec compared to 46,589 Files/Sec delivered by the NTFS file system on the same SSD disk. When changing the files last modification dates on an SSD disk formatted using the Server 2016 ReFS file system, the performance of the operation reaches 10,258 Files/Sec compared to 23,904 Files/Sec delivered by the NTFS file system on the same SSD disk.

Server 2016 NTFS vs. ReFS File System Performance

The performance of the file attributes change operation reaches 8,302 Files/Sec for the Server 2016 ReFS file system compared to 24,327 Files/sec delivered by the NTFS file system on the same SSD disk. Finally, the performance of the file delete operations reaches 2,247 Files/Sec for the Server 2016 ReFS file system compared to 16,822 Files/sec delivered by the NTFS file system on the same SSD disk.

According to our specific benchmarks, the performance of the Server 2016 ReFS file system is significantly lower then the performance delivered by the NTFS file system for all types of disk analysis and file management operations.

Server 2016 ReFS File System Overhead and Memory Usage

In addition to the performance results, it is very important to understand how much of the system resources were used by the operating system during the performance tests. For this purpose, we have used the SysGauge system monitoring utility configured to monitor the disk transfer rate, the amount of free system memory and the amount of the cached system memory during each performance test.

SysGauge Performance Report - Server 2016 File Copy NTFS

For example, when copying a 4 GB set of small files to an SSD disk formatted using the NTFS file system, the Server 2016 operating system transferred approximately 5 GB of the raw data to the disk and used 300 MB of the system memory as the file system cache.

SysGauge Performance Report - Server 2016 File Copy ReFS 4K

On the other hand, when copying exactly the same 4 GB set of small files to the same SSD disk formatted using the Server 2016 ReFS file system, the operating system transferred approximately 14 GB of the raw data to the disk and used 3.7 GB of the system memory as the file system cache.

The default file system cluster size for the Server 2016 ReFS file system is 4 KB exactly the same as for the NTFS file system and it is really strange to see that the file system overhead caused the operating system to write almost 4 times more raw data to the disk and what is even more troubling the use so much of the system memory as the file system cache. In order to clarify the situation, we have decided to reformat the ReFS file system with the file system cluster size set to 64 KB, which can be done using the Windows built-in disk format tool.

Server 2016 Disk Format ReFS

When the SSD disk is formatted using the Server 2016 ReFS file system with the 64 KB cluster size, the situation gets even more troubling. In order to copy the same 4 GB set of small files, the operating system consumes all 8GB of the system memory as the file system cache and transfers 35 GB of the raw data to the disk.

SysGauge Performance Report - Server 2016 File Copy ReFS 64K

As it is shown on the next screenshot, on the NTFS file system, the total size of the file set is 4 GB and the actual size on disk is 4.5 GB, which is normal because some files are smaller than the 4 KB file system cluster size.

Server 2016 Directory Properties NTFS

On the Server 2016 ReFS file system, the same set of files uses 16.8 GB, which is also normal because the file system cluster size is now set to 64 KB and all files smaller than 64 KB still use 64 KB of the disk space.

Server 2016 Directory Properties ReFS 64K

But, it is still not clear why the operating system transferred 35.5 GB of the raw data to the SSD disk as displayed on the SysGauge monitoring report. In order to verify this number, we have checked the free disk space on the SSD disk and as it is shown on the next screenshot, the operating system indeed transferred 35.5 GB of raw data to the SSD disk in order to copy the 4 GB set of files.

Server 2016 Disk Space Usage ReFS 64K

The Server 2016 includes an updated version of the ReFS file system, which is even not compatible with the previous version of the file system provided by the Server 2012 R2. In order to get better understanding of the issue, we have decided to compare the Server 2016 ReFS file system to the Server 2012 R2 on the same hardware platform.

The Server 2012 R2 ReFS file system provides only the 64K file system cluster size and it is even not possible to format the SSD disk with the 4 KB cluster size. On the Server 2012 R2, the 4 GB set of small files shows exactly the same 16.8 GB size on disk, which is normal due to the 64 KB file system cluster size.

Server 2012 R2 Directory Properties ReFS 64K

But, on the Server 2012 R2 disk space usage dialog the amount of the used disk space is only 19.3 GB compared to 35.5 GB on the Server 2016 ReFS file system for exactly the same set of files, which confirms that the problem is related specifically to the updated version of the ReFS file system released with the Server 2016.

Server 2012 R2 Disk Space Usage ReFS 64K

Finally, in order to clarify the issue with the amount of the system memory used as the file system cache, we have repeated all performance tests on the Server 2012 R2 ReFS file system with the SysGauge system monitoring utility configured to monitor the disk transfer rate, the amount of the free system memory and the amount of the cached memory used as the file system cache.

Server 2016 vs. Server 2012 R2 ReFS File Copy Performance

According to the performance results, the performance of the Server 2016 ReFS file system is significantly lower when copying small files and medium sized files. For large and huge files, the performance of the file copy operations is identical to the Server 2012 R2 ReFS file system.

Server 2016 vs. Server 2012 R2 ReFS File System Performance

The performance of directory scanning and disk space analysis operations is identical in both operating systems. The performance of file timestamps change and file attributes change operations is better in the Server 2016 ReFS file system, while the performance of the file delete operations is significantly better in the Server 2012 R2 file system.

As it is shown on the SysGauge performance monitoring report, from the memory usage point of view, in order to copy the same 4 GB set of files, the Server 2012 R2 ReFS file system transfers just 5.8 GB of raw data to the disk compared to 35.5 GB of data for the Server 2016 ReFS file system.

SysGauge Performance Report - Server 2012 R2 File Copy ReFS 64K

Also, in order to copy the 4GB set of files, the Server 2012 R2 operating system used just 177 MB of the system memory as the file system cache compared to almost 8 GB of the system memory used by the Server 2016 operating system.

Conclusions
  • The updated version of the ReFS file system included in the Server 2016 is significantly slower than the NTFS file system and the previous version of the ReFS file system provided by the Server 2012 R2 operating system.
  • The new version of the ReFS file system uses a lot of system memory as the file system cache during file copy operations and in some situations the file system cache may consume all the memory available in the system.
  • The updated version of the Server 2016 ReFS file system is not effective for storing large numbers of small files and the file system writes too much data to the disk compared to the previous version of the ReFS file system and the NTFS file system.

* This review was prepared for information purposes only and we strongly recommend to test the performance of DiskBoss file management operations on your specific hardware platform and with your specific data sets.