There are several factors that affect the performance of your backup tasks. Here we describe the most common conditions that affect backup performance, and offer some suggestions for mitigating the effects of those conditions.
Use CCC's Quick Update feature
The Quick Update feature can greatly reduce the amount of time it takes to compare items on the source and destination. Rather than evaluating all files and folders in the source data set, CCC will collect a list of folders that have been modified since the last backup task from the macOS FSEvents service. Especially for data sets with a lot of small files in folders that are infrequently modified, this feature can improve performance by many orders of magnitude. Click the Advanced Settings button at the bottom of the CCC window, then you'll find the Quick Update option in the Performance & Analysis tab.
Reduce the number of files considered for backup
If the aforementioned Quick Update feature is not applicable (e.g. because the source volume doesn't support it), and if you have a particularly high number of files on your source volume, you may be able to reorganize your data set and apply some exclusions to improve task performance. For example, if you have a large number of files that never change (perhaps some old, completed projects), you can collect these into a folder named "Archives", back it up once, then exclude it from future backups. CCC will not delete excluded items from your destination (unless you configure the Task Filter to do so), so as long as you keep the original on your source volume, you will always have two copies of your archived content. Because these items are excluded from your daily backups, CCC will not spend time enumerating through those files for changes.
macOS is constantly touching log and cache files, and those files can add up to a lot of changes for every backup task. Take a moment to review your task audits to see if there is content that doesn't have to be backed up. A few minutes reviewing the audit can add up to lots of time shaved off your regular backups.
- Click Task History in the toolbar to open CCC's Task History window
- Select one of your regularly-recurring task events
- Click on the Audit tab in the center of the window
- Sort the list by Size, then browse through the changes
- If you see something in the audit that you don't feel needs to be backed up, especially cache folders with a particularly high file count or a large amount of data, right-click on the item and choose the option to exclude it from the backup task.
When two tasks are writing to the same destination at the same time, the two tasks will typically take more than twice as long to complete when running at the same time vs. when they are run sequentially. This is particularly true when writing to network volumes, the resulting CPU load on the NAS server can be more than it can handle. CCC offers two features to avoid running automated tasks simultaneously to the same destination:
- Click on the Automation selector for each task and check the box next to Defer if another task is writing to the same destination
- Rather than scheduling the individual tasks, place the tasks into a task group, then configure the group to run on a schedule. The group will then run the tasks sequentially.
Your backups will be no faster than your slowest disk. Performance will be worse for smaller rotational hard drives (e.g. physically smaller, like those in 2.5" hard drive enclosures), for older hard drives, and for hard drives that are nearly full and thus more likely to be fragmented.
You will also get longer copy times when you have lots of small files vs. a volume filled with just a few very large files. Finally, you will see better performance with faster/more efficient interfaces — USB 3.1 is faster than USB 3.0, USB 3.0 is faster than USB 2.0, etc.
Additionally, if your source volume is nearly full and is a rotational disk, we recommend that you replace it with a larger hard drive to avoid the performance implications of filesystem fragmentation.
When we developed our new file copier in CCC v6, one of our design goals was to take full advantage of the performance that is available from modern SSD and NVMe storage devices. The CCC "Core Copy Engine" will process up to four folders at once, and copy up to eight files at a time by default when both the source and destination devices can be positively identified as solid state devices. This multi-threaded approach yields blazing-fast transfers of very large amounts of data between fast devices – typically exceeding CCC v5's legacy file copier performance by 50% or more, and meeting or exceeding Finder copying performance.
This multi-threaded approach can yield a performance disadvantage, however, for slower hardware, e.g. "slim" or "portable" 2.5" rotational HDDs. By default, CCC 6 will process up to two folders at a time, and two files at a time when working with storage that is not identifiable as solid state. Depending on the specific performance characteristics of your storage and the files that have to be copied, you may find better performance with more file copier queues, or you may find better performance with yet fewer file copier queues. You can change the number of file copier queues in the Performance & Analysis tab of CCC's Advanced Settings:
In some cases, the CCC v6 file copier offers no performance advantage over the CCC v5 file copier. You can drag the File copier queues slider all the way to the left to "Use the legacy file copier" to have a specific task use the previous file copier instead. Note that this setting precludes several of the other features available in CCC v6, e.g. postflight file verification, task auditing, and the Quick Update feature. We recommend that you exhaust the other performance tuning recommendations noted in this article before resorting to using the legacy file copier.
It's important to choose the right filesystem for the hardware that you have and the data that you're backing up. If you have an older, rotational HDD, it's generally better to format that device using the "Mac OS Extended, Journaled" (HFS+) format if you're making a data-only backup. APFS is the new, modern standard, but its performance on rotational devices is inferior to HFS+. If you're making a backup of a macOS Catalina System volume, APFS is required. If you find the performance of your backups to be too slow, we recommend using an SSD for your backups.
Anything that causes CCC to compete for bandwidth to your source or destination volume will increase the amount of time that it takes to back up your data. Spotlight indexing is one such process that CCC typically must compete with for disk bandwidth. As you copy new data to your destination volume, for example, Spotlight wants to read those "new" files so it can index their contents. Having a Spotlight index of your backup volume may be unnecessary as you probably want to search for files only on your source volume. To disable Spotlight indexing on a volume that is dedicated to backup, drag the icon of the destination volume into the "Privacy" tab of Spotlight Preference Pane in the System Preferences application. If you do want the backup volume indexed, drag its icon out of the "Privacy" tab after the backup completes and indexing will start immediately.
CCC offers an advanced option to "Find and replace corrupted files". When using this option, CCC will re-read every file on the source and every file on the destination, calculating a checksum of each file. CCC then compares these checksums to see if a file should be recopied. While this is an excellent method for finding unreadable files on the source or destination, it will dramatically increase the amount of time that your backup task takes, and it will also increase CPU and hard drive bandwidth consumption on your Mac. We recommend limiting the use of this option to weekly or monthly, or to one of the other options offered in the popup menu adjacent to that setting.
Other applications and conditions that can lead to performance problems
Over the years we have received numerous queries about poorer performance than what is expected. Careful analysis of the system log and Activity Monitor will usually reveal the culprit. Here are some things that we usually look for:
- Other backup software copying simultaneously to the same volume, a different volume on the same disk, or across the same interface as CCC's destination.
- Utilities that watch filesystem activity and do things when file changes are detected. Antivirus software is a common culprit, but we have also seen problems caused by other watcher applications, such as memeod and Western Digital's SmartWare.
- Slow interfaces — USB hubs (including the ports on a USB keyboard or display) and even some USB cables can reduce the bandwidth to your disk dramatically. If you're using USB, be sure that your device is plugged directly into one of the USB ports on your Mac.
- Using a wireless network connection to connect to a network volume. If you're seeing poor performance with a wireless connection, compare the performance when using a wired (ethernet) connection.
- Symantec's Digital Loss Prevention (DLP) can cause performance problems when backing up a specific Microsoft font cache (e.g. /Users/yourname/Library/Containers/com.microsoft.Outlook/Data/Library/Application Support/Microsoft/FontPreviewCache). The problem appears to be specific to DLP's ability to cope with the dorky emojis that Microsoft uses in the file names in this folder (i.e. replacing the word "family" with the family emoji). Exclude that FontPreviewCache folder from your backup task to avoid the performance problem.
If you're still having trouble identifying a performance problem, we're here to help.
When a task is running, CCC presents a live chart of file evaluation rate (i.e. the number of files compared per second) and data write rate. Hover your mouse over the chart to see the rates at various points on the chart:
File evaluation rate and write rate are often complementary. This dynamic performance chart was designed to show how these two factors relate to each other, and also to show how the characteristics of your source data set interact with the performance characteristics of your source and destination devices. For example, you will find that when CCC is copying very large files, file evaluation rate will be low, but write rate will get very high – close to the maximum bandwidth potential of the destination (if that's slower than the source device's read rate). In contrast, when CCC is processing lots of smaller files, the file evaulation rate will get higher and the write rate will be considerably less than the maximum write rate that is achievable on that device. This is normal – it takes longer to copy a million 1KB files than it would take to copy a single 1GB file, even though you're copying the same amount of data.
The dynamic performance chart will bring NAS protocol performance into sharp focus. While we can typically process thousands of files per second on a locally-attached filesystem, NAS filesystems (e.g. AFP and SMB) can typically process tens or hundreds of files per second. This performance is wholly dependent on the NAS device, its storage, and is also strongly influenced by the overhead of the SMB and AFP protocols. The key to improving performance on a task that involves a NAS device is to reduce the number of filesystem transactions that must occur, and the only way to do that is to reduce the number of files and folders that are compared during the backup task. CCC's Quick Update feature can be instrumental in achieving that goal.
Sometimes backup tasks can have a noticeable impact on system performance. By default, the CPU priority of CCC's file copier will be comparable to that of a foreground application, yielding the fastest possible file copying performance. If you would like to reduce the impact that a particular task has on the system, you can reduce the File copier CPU priority in the Performance & Analysis tab of CCC's Advanced Settings.
Pausing a task
If you would like to immediately cease a task's impact on the system without stopping the task altogether, you can pause the task. Click the Pause button adjacent to the Stop button in CCC's main window to pause the task. The CCC Dashboard also offers a Pause button for quicker access to this functionality. Paused tasks will resume automatically after five minutes, or you can click the Continue button to resume the task. The five minute timeout can be adjusted in the Advanced section of CCC's Preferences window.