Synchronize. Backup. Bootable Backup.
Whatever your backup or sync scenario, ChronoSync has got you covered!
Back to more tech notes

MORE TECH NOTES

TNCS-0030 - Ten Performance Tips For ChronoSync

October 26, 2015

INTRODUCTION

This tech note outlines ten tips that can potentially improve performance while using ChronoSync. Each tip offers an explanation of common issues one can face while performing synchronizations or backups and then offers suggestions on how to best alleviate the affects of these issues.

1. DISABLE SPOTLIGHT INDEXING

Spotlight indexing can have a detrimental effect on ChronoSync backup tasks both during and after the sync document is run. What happens is that the OS detects new and/or modified files on your destination drive and steps in to index them for Spotlight search queries. This can lead to a significant amount of indexing — not to mention disk space consumed for the indexes — if you are processing a large amount of files.

Since Spotlight indexing of your backup volumes is typically not beneficial, a simple solution is to disable Spotlight indexing for just those volumes. To do this, visit "System Preferences" and open the "Spotlight" preference pane. In the "Privacy" tab, simply add your backup volume to the list of locations that Spotlight will ignore. You can add an entire volume to this list or individual folders, so if you are placing backups in a special folder on your backup volume, you can add just that folder to the privacy list and allow the rest of the volume to be indexed by Spotlight.

2. ENABLE SMARTSCAN

ChronoSync v4.6 introduced an advanced file system scanning technology dubbed SmartScan. When this is enabled, ChronoSync works with an operating system facility known as fsEvents to determine if the contents of a folder have changed since the last backup/sync task was run. This allows certain folders to be skipped which can result in dramatic speed improvements. More information on SmartScan is detailed in the SmartScan tech-note.

SmartScan is enabled on a per-synchronizer document basis. To turn it ON, open a synchronizer document and visit the "Options" panel. Look in the "Special File/Folder Handling" section. You will need to choose "Custom" from the pop-up menu, after which you can enable SmartScan. Once enabled, you can fine-tune SmartScan support in the “Options” sheet for each target in the “Setup” panel. This allows you to enable/disable SmartScan on a per-target basis, just in case you may not want it enabled for one of your targets. You can also enable “Aggressive mode”, which is described in the aforementioned tech note.

SmartScan isn’t available for all types of targets. Most notably, it doesn’t work with file servers (which includes NAS devices). It doesn’t hurt to leave it enabled for such devices, however — ChronoSync simply won't use SmartScan if your device doesn’t support it. If only one of your targets supports SmartScan, you will still realize noticeable performance gains

3. USE 'TRUEBLIND' FOR BACKUPS

"Blind" backups are a very unique feature in ChronoSync. When they are used, ChronoSync is "blind" to any changes that occur on your destination volume. You can backup a large set of files and then delete the files on your backup device and ChronoSync will NOT copy any files on its next run unless those files have actually been modified in between runs. The idea is to allow the backup set to be post-processed (e.g. added to a tar archive) or swapping out backup devices entirely. Only changes will get copied, so this is a very efficient strategy. The only drawback is that if users accidentally delete files on the backup device, ChronoSync won't know about it and thus your backups could get lost. For this reason, such targets are typically kept offline until they are needed, mounted and dismounted automatically by ChronoSync as it runs.

ChronoSync v4.6 introduced a 'secret' feature called TrueBlind. It combines the power of SmartScan with Blind backups. When SmartScan is enabled, a slightly different sync engine is used. It turns out that this sync engine and blind backups go together very nicely. Without SmartScan enabled, a blind backup still results in ChronoSync scanning the destination file system, even though it is not going to pay attention to any changes there. With SmartScan enabled, however, ChronoSync will never scan the destination folders unless the source folder contains a change that needs to be backed up. While this provides modest benefit on local hard drive syncs, it offers tremendous benefit when the destination target resides on a remote file server/NAS or ChronoAgent connected Mac.

This benefit is realized regardless of whether or not your devices actually support SmartScan. You can even disable SmartScan support in each target's "Options" sheet (in the "Setup" panel) and still realize the benefits of TrueBlind as long as it is turned ON in the Options panel. It’s kind of an awkward way to enable a feature, which is why this doesn't get touted by us often.

4. USE CHRONOAGENT FOR MAC-TO-MAC CONNECTIONS

We say this so many times, it may seem like we're just trying to sell you another piece of software (okay, maybe we are). However, the benefit of using ChronoAgent versus a standard file sharing connection is just that good. We've got evidence to support this claim both here and here. The video and tech-note are actually somewhat restrained in hyping up ChronoAgent vs. file sharing: It's really not even close. We use ChronoAgent for all our in-house sync and backup needs and avoid file sharing like the plague. We only use it when we have to, such as when communicating with a Windows PC or an NAS device (and of course, testing).

5. MINDFUL PACKAGE HANDLING

Packages are a special type of 'file' on macOS which is really a folder containing many sub-folders and files but is made to look like a single file to the user. All application programs are packages and many applications store their documents as packages. By default, ChronoSync treats packages as a unit, meaning all its contents are treated as one. If any change occurs within a package, the entire package is backed up. This is usually the proper way to deal with packages except when the packages are excessively large, such as may be the case with Photos and Aperture libraries. This presents a dilemma which is detailed in the Package Conundrum tech-note.

We'll leave the details of package handling to the other tech-note and focus on the simple fact that, except when dealing with enormous package/data files such as Photos and Aperture libraries, the "Standard" or "Merge" package handling technique will always offer much better file system scanning performance. If you do not deal with such data, or you do but none of these packages are excessively large, the "Standard" or "Merge" setting is the obvious choice. If you DO need to deal with such large packages, the "Merge" setting may offer the best choice if your destination volume support hard-links. If the "Merge" setting offers no benefit (usually because you're backing up to a file server or NAS), you’ll have no choice but to change the setting to "Dissect."

From a performance standpoint, the problem with enabling "Dissect" for package handling is that it will negatively affect your scanning performance if the sync contains many run-of-the-mill packages that are not enormous data files. To counter this, we suggest creating multiple sync documents, each with different package handling settings. For example, if you deal with large Aperture photo libraries, you could create one sync document that uses a filename extension rule to only process Aperture libraries. This sync document would have the "Dissect" package handling setting enabled (in the "Special File/Folder Handling" section of the "Options" panel). A second, nearly identical sync document would be configured to "Merge" packages, and the filename extension rule would exclude all Aperture library files. You could schedule these two sync documents to run at the same time, combine them in a container document or just run them manually and separately.

6. AVOID RULES TO EXCLUDE FOLDERS

ChronoSync's ability to apply rules to narrow the scope of a synchronization is an extremely powerful and unique feature. However, their over-use can have a negative impact on performance. Specifically, we've encountered many users who setup rules to avoid scanning a specific folder. For instance, if you were backing up your Home folder but wanted to exclude your "Movies" folder, a simple rule that excludes this folder would do the trick. However, that rule will get applied to every file/folder in your sync tree and it will only trigger a single exclusion out of the many tens (or hundreds) of thousands of files that get scanned. A much better way to accomplish this would be to open the "Analyze" panel, locate the folder you want to ignore, select it and choose "Exclude" from the "Actions" menu (or right-click on it). This is far more efficient than creating rules to exclude a small set of files/folders.

7. CREATE MULTIPLE SYNC DOCUMENTS

Another powerful aspect of ChronoSync is its use of separate synchronizer documents to define the scope of a sync or backup operation. You can leverage this power by creating multiple synchronizer documents to focus on just the data that you need to sync or backup. There is no problem having the scope of these sync documents overlapping each other and here is where the performance benefit comes in. For example, you could be running a regular bootable backup to clone your entire system drive onto an external hard drive. This works just fine but perhaps it takes a while to run because you have an enormous amount of files to scan and/or you have slower hardware. You could create second synchronizer document that performs a backup of just your Documents folder to the same external hard drive. This will only scan your working documents and will run much faster. You can run it much more frequently and still have an identical clone of your system drive on the external hard drive. The "How to Backup Multiple Folders" guide offers additional strategies and tips in this regard.

8. AVOID PRESERVING SPOTLIGHT COMMENTS

In the "Special File/Folder Handling" section of the "Options" panel, there is a setting labelled "Preserve Comments." This controls whether or not ChronoSync will explicitly preserve Spotlight (aka Finder) comments in every file it copies. Many users feel compelled to turn this on because they utilize Spotlight comments extensively. If the "Ignore Invisibles" option has not been turned ON , you will be presented with a a warning stating that "Preserve Comments" setting may be redundant. You should take heed of the warning: as long as the invisible ".DSStore" file contained in each folder is getting copied, your Spotlight/Finder comments are already getting preserved.

The reason "Preserve Comments" is such a performance killer is that obtaining the comments and applying them to a file is a very time consuming task. To do this essentially requires asking Finder for the comment and then telling it to set the comment on the destination file. Even if there are no comments attached to the file, this can be very time consuming. It’s not uncommon for such syncs to run a whole order of magnitude slower.

If you really want to avoid copying invisible files but need your Spotlight comments preserved, you can setup rules to ignore all invisible files except ".DSStore." This will be much faster than trying to preserve comments separately. Our Support team will gladly help you setup such rules.

9. SCHEDULED SYNCS RUN FASTER

The ability to open a synchronizer document and manually invoke a regular or Trial sync, interacting with any errors and conflicts that arise, is a very popular (and appreciated) feature in ChronoSync. However, if your usage pattern is such that you manually run synchronizer documents but do not interact with them, either because you've pre-configured how to deal with errors and conflicts or you simply never encounter them, you might want to consider running syncs/backups as scheduled items. Updating the user interface when running a sync/backup actually imposes a slight performance penalty. As a result, scheduled syncs generally run slightly faster.

You can take advantage of this fact even if you prefer to manually trigger your syncs and backups. The way to do this is to schedule the sync to run at a meaningless interval, then disable the scheduled item. It will never run automatically but it will sit there in the Scheduled Documents Manager window waiting for you to trigger. You can then select the item and manually synchronize it by clicking the 'Sync Now' button at the top of the window. You can even trigger the sync to run from other apps and/or when ChronoSync isn't running by choosing the scheduled item from the ChronoSync System Menu and holding the OPTION key down. Holding OPTION down will run the sync document rather than open it.

10. TWEAK YOUR CHRONOAGENT CONNECTION PROFILE

If you are using ChronoAgent to connect to your targets, there are two Connection Profile settings you may want to consider changing. The first is the "Data Compression" setting. The default is "None", but the "Fast" setting generally provides better performance (the "High" setting should only be considered when you have a very slow speed connection between ChronoSync and ChronoAgent). This is definitely a your-mileage-may-vary-type suggestion so you should experiment to see what the actual benefits are.

The second setting to look at is "Optimal host routing", located in the ChronoSync Connection Profile, found in 'ChronoSync->Preferences->Connections.' By itself, this won't speed anything up. However, if you have a network configuration where it is technically possible to have multiple routes to a ChronoAgent (e.g. the agent can be reached on both a wireless and wired path), this setting will ensure that the fastest route is used by ChronoSync. With the setting turned OFF, it is entirely possible that the slower path is being used because ChronoSync chooses the first path that resolves. With the setting turned ON, each path is tested and the faster one chosen. The drawback is a slightly longer pause when the connection is first established.

REVISION HISTORY

Oct-26-2015 - Created from Internal Support Notes.