Calculating percentage of a Backup
Often users expect to see the percentage bar of a backup completion increase smoothly as time passes. Calculating percent completion is not a linear operation when Syncrify runs a backup. Under ideal conditions, if a backup takes 10 minutes (600 seconds) and the status bar contains 100 points, the status bar should increase one point every 6 seconds.
These ideal conditions can only be achieved if Syncrify knows the total time it will take to complete a backup job. Since Syncrify does not know the time a backup will take at the beginning of a backup job, ideal conditions can never be achieved.
One step below the ideal condition is to divide the number of total files (or their cumulative size in bytes) and figure out an estimated end time based upon their transfer speed. In order to achieve this goal, Syncrify will have to compute/analyze every file in the backup set before starting the actual backup. In order to save time for the overall backup, Syncrify does not analyze files. This behavior is clearly visible when you try to backup millions of files. Most backup software, even Windows File Copy, tries to analyze files before the actual copying operation starts. Syncrify, on the other hand, starts the copying operation right away.
Another factor that makes file analysis insignificant in Syncrify is delta backups. Depending up size of the delta, Syncrify can spend significant amount of time matching blocks. This time cannot be estimate in advanced and therefore, even if Syncrify analyzed the entire data set, the estimated time will be quite different from actual time.
How is percent calculated
Syncrify uses the following formula to compute the percentage.
- Divides 100 by the number of top-level folders. If there are 5 top-level folders, each folder will get 20% of the total time. Let's call this a segment.
- A secondary thread starts analyzing the number files while the primary thread starts backing up
- A completion point is estimated based on the number of files for each segment