Lab 15 · Performance

The incremental right after: 152× fewer reads on the storage disk

Date: Oct 16, 2026Server: production cPanel, 10 accounts, ~55 GBReading time: 3 minTopic: Performance
The question

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?

Result
152×fewer reads on the storage disk: 155 on Salvo, versus 23,580 on JetBackup
1 min 28 son Salvo, versus 3 min 57 s on JetBackup, with 9× less data over the network

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.
Reads on the storage disk every 5 secondsPhysical reads per second · before 0, the storage’s background noise
Who wins on each measureTo the right, how many times better on Salvo; to the left, on JetBackup. Log scale: each mark is 10×.
Source: storage collector every 5 s and Salvo Lab · production cPanel server · Oct 16, 2026
JetBackupSalvo
Total time3 min 57 s1 min 28 s
Reads on the storage disk23,580155
Extra space on the storage+0.56 GiB+27 MiB
New files and folders on the storage+46,044+221
Sent over the network227 MB25 MB
Files read on the source serverall checked against the storage369 of 662 thousand
Peak load on the source server14.610.1
Peak tool memory42 MB449 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.

?
What we don’t know yetWarm cache: both incrementals ran about 8 minutes after the first backup, with metadata still in the memory of the storage and the server. That’s the best case for both, especially for JetBackup, which depends on reading metadata on the storage; the next-day incremental, with a cold cache and the real concurrency of the time of day, is the next lab. Database dumps are redone in full on both; the difference comes from the files. One server and 10 accounts, not a market average. And memory: Salvo used 449 MB at peak, versus 42 MB for JetBackup.
Want to see Salvo on your server?Join the beta waitlist. We’ll let you know when there’s a spot.

How it connects to the other labs

salvo. Backup for hosting servers. A GK2 product.
Product
Lab
Salvo
Language
© 2026 GK2We use analytics cookies (Google Analytics).salvobackup.com/lab/incremental-152-times-fewer-storage-reads/