SyncBreeze File Synchronization Performance

The performance of file synchronization operations is one of the most important factors to consider when selecting a file synchronization solution. An accurate performance estimate is a complicated matter, which is affected by a large number of various factors including the type of the hardware platform, the type of used storage devices, the network speed and latency, the size of files that should be synchronized, etc.

SyncBreeze File Synchronization Performance

The purpose of this performance review is to show an average performance of SyncBreeze file synchronization operations on different types of hardware platforms with different types of data sets. In addition, in order to help to achieve the maximum possible file synchronization performance, this review shows how to use performance tuning options provided by SyncBreeze and allowing one to tune file synchronization operations for different types of hardware and network platforms.

For this performance review, we have used the following sets of files:

  • Very Small Files - 1,000,000 files with the average file size of 16 KB.
  • Small Files - 250,000 files with the average file size of 64 KB.
  • Medium-Sized Files - 25,000 files with the average file size of 4 MB.
  • Large Files - 2000 files with the average file size of 64 MB.

All sets of files were synchronized multiple times from a Samsung 850 PRO 512 GB SSD disk to the following destination storage devices:

  • Samsung PRO 512 GB SSD Disk
  • Crucial MX100 512 GB SSD Disk
  • Western Digital 4 TB Blue HDD
  • Western Digital External 2 TB USB 3.0 HDD
  • Windows Server 2012 R2 via a local Gigabit Network
  • RedHat Enterprise Linux Server via a high-latency 100 Mbit Network

All tests were performed using SyncBreeze v9.0 (64-Bit version) installed on a quad-core Windows Server 2012 R2 with 8 GB of system memory.

SyncBreeze Parallel File Synchronization Threads

For each set of files and each tested storage device, file synchronization operations were configured to synchronize files using 1, 2, 3 and 4 parallel file synchronization threads, which can be set on the advanced file synchronization options 'Speed' tab.

Synchronizing Files Between SSD Disks

According to our benchmarks, when synchronizing files between two SSD disks, the performance of file synchronization operations scales very well from 1 to 4 parallel file synchronization threads. For small files, the performance scales from 80 MB/sec for a single file synchronization thread to 151 MB/Sec for 4 parallel file synchronization threads.

SyncBreeze File Synchronization Performance SSD Disks

When synchronizing medium-sized files, the performance of sync operations scales from 130 MB/Sec to 305 MB/Sec. Finally, when synchronizing large files, the performance of file synchronization operations scales from 161 MB/Sec for a single thread to 526 MB/Sec for 4 parallel file synchronization threads.

Synchronizing Files to Mechanical HDD Drives

Modern mechanical disks can deliver respectable performance when synchronizing large files, but due to hardware limitations the performance of mechanical drives is not scaling well when synchronizing files using multiple file synchronization threads. When synchronizing small files, the specific disks we have tested scale from 67 MB/Sec for a single file sync thread to 82 MB/Sec when synchronizing files using 4 parallel file synchronization threads.

SyncBreeze File Synchronization Performance Mechanical Disks

For medium-sized files, the performance of file sync operations scales from 90 MB/Sec to 99 MB/Sec. For large files, the performance of file synchronization operations scales from 128 MB/Sec for a single file synchronization thread to 134 MB/Sec for 3 parallel file sync threads, but then degrades to 132 MB/Sec for 4 parallel file synchronization threads.

Synchronizing Files to NAS Storage Devices

When synchronizing large numbers of small files to a NAS device through a local Gigabit network, the performance of file synchronization operations scales from 10 MB/Sec for a single file synchronization thread to 62 MB/Sec for 4 parallel file synchronization threads.

SyncBreeze File Synchronization Performance NAS Devices

When synchronizing medium-sized files, the performance scales from 43 MB/Sec for a single thread to 108 MB/sec for 4 parallel file synchronization threads almost reaching the maximum performance of the Gigabit Ethernet network. When synchronizing large files over the network, the performance of file sync operations scales from 46 MB/Sec to 110 MB/Sec.

Synchronizing Files to External USB Disks

According to our benchmarks, when synchronizing files to an external mechanical HDD USB disk, the performance of file synchronization operations is slightly scaling for small and medium-sized files, but degrades when synchronizing large files using a number of parallel file synchronization threads. When synchronizing small files, the performance scales from 22 MB/Sec to 25 MB/Sec.

SyncBreeze File Synchronization Performance USB Disks

When synchronizing medium-sized files, the performance scales from 41 MB/sec for a single thread to 44 MB/Sec for 3 parallel file synchronization threads, but then degrades to 42 MB/Sec when synchronizing files using 4 parallel file synchronization threads. For large files, the performance begins with 69 MB/Sec for a single file synchronization thread and then drops to 56 MB/Sec for 2 parallel file sync threads, 54 MB/Sec for 3 parallel file sync threads and 53 MB/Sec for 4 parallel file sync threads.

Directory Scanning Performance

Once the initial file synchronization operation is completed, SyncBreeze will begin scanning directories for changes, compare files last modifications times and sync files which should be updated. The performance of directory scanning operations is very important especially when synchronizing large numbers of files via slow, high-latency networks.

SyncBreeze Parallel File Synchronization Threads

By default, SyncBreeze scans directories sequentially using a minimal amount of system resources, but for specific configurations where the performance of directory scanning operations is critical, the user is provided with the ability to switch to the parallel directory scanning mode and specify a number of parallel directory scanning threads to use for file synchronization operations.

When scanning directories located on two local SSD disks, the performance of directory scanning operations scales from 30,000 Files/Sec for a single directory scanning thread to 86,000 Files/Sec for 4 parallel directory scanning threads. For example, on a powerful quad-core server, two directories containing 1,000,000 files each will be scanned in just 11 seconds.

SyncBreeze Directory Scanning Performance Disks

When scanning directories via the network two additional factors should be taken into account. The first factor is the configuration of the file synchronization operation and the second is the latency of the network. If the file synchronization operation is configured to sync files between a local disk drive and a NAS storage device, SyncBreeze will need to check the last modification times for files located on the NAS storage device and the time required to fetch the last modification date for each file depends on the latency of the network. For fast, low-latency networks the time required to fetch the last modification date for each file may be under a millisecond, but for a slow, high-latency network it may be a few hundreds of milliseconds, which will have a very significant impact on the performance of the directory scanning operations.

In addition, some file synchronization operations may be configured to synchronize files between two remote servers or NAS storage devices via a slow, high-latency network. In this case the performance penalty incurred due to the high network latency will happen twice: the first time for the source directory and the second time for the destination directory.

SyncBreeze Directory Scanning Performance NAS Devices

According to our benchmarks, when scanning directories via a low-latency Gigabit Ethernet network, the performance of directory scanning operations scales from 2,200 Files/Sec for a single directory scanning thread to 14,200 Files/Sec for 12 parallel directory scanning threads.

SyncBreeze Directory Scanning Performance Network

On the other hand, when scanning directories via a slow, high-latency 100 Mbit network, the performance of directory scanning operations scales from 200 Files/Sec for a single directory scanning thread to 2,800 Files/Sec for 32 parallel directory scanning threads.

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