The backup storage takes several servers in the same night. If every incremental makes it read hundreds of thousands of files, it saturates, and everyone runs late. On an incremental backup right after the first one, when almost nothing changed, what does it cost the server, the network and, above all, the storage disk?
Why it matters to whoever runs the server
- 152× fewer reads on the storage disk (155 versus 23,580): Salvo’s incremental barely touches the storage, leaving room for the other servers and for a restore at the same time.
- 1 min 28 s versus 3 min 57 s, with 9× less data over the network: a shorter window and less traffic.
| JetBackup | Salvo | |
|---|---|---|
| Total time | 3 min 57 s | 1 min 28 s |
| Reads on the storage disk | 23,580 | 155 |
| Extra space on the storage | +0.56 GiB | +27 MiB |
| New files and folders on the storage | +46,044 | +221 |
| Sent over the network | 227 MB | 25 MB |
| Files read on the source server | all checked against the storage | 369 of 662 thousand |
| Peak load on the source server | 14.6 | 10.1 |
| Peak tool memory | 42 MB | 449 MB |
Method
The same as Lab 14: 10 accounts (about 55 GB and 660 thousand files), 3 accounts at a time and a separate volume for each tool on the storage, measured every 5 seconds.
Each incremental ran about 8 minutes after the same tool’s first backup, during the same business hours and with the same sites active.
On JetBackup’s incremental, the storage disk did 23,580 physical reads of about 6 KiB (file metadata) in 4 minutes: 100 per second on average, peaking at 328, at 5 to 12 ms per read.
Why the difference
JetBackup’s rsync checks every file against the previous copy on the storage and creates a new snapshot: a new folder for every account folder (the +46 thousand) and a hardlink for every unchanged file. For that, the storage reads the metadata of hundreds of thousands of files. Salvo checks on the source server itself, using the previous backup’s file list; it skips what didn’t change without opening it (it read 369 of 662 thousand files) and sends only what’s new to the storage. The storage practically only receives writes.