Check whether a restore meets its RTO: backup chain length, restore throughput, parallel streams, verification and infrastructure rebuild.
A restore reads more than the protected volume: a full backup plus every incremental in the chain, each of which must be applied in order. Aggregate throughput is the per-stream rate times the number of streams the source and target can genuinely sustain in parallel, and the clock starts at infrastructure rebuild — not at the moment data starts moving — because on a real disaster there is nothing to restore onto yet. Most organisations discover their RTO is fiction during the first real restore, because the plan counted data-copy time and forgot the chain, the rebuild and the verification.
Backup Recovery
volumeRead = fullBackup × (1 + incrementals × incrementalShare); restoreTime = volumeRead ÷ (perStreamRate × streams); total = rebuild + restore + verification.
RTO margin
margin = rtoTarget − totalRecoveryTime; a negative margin means the RTO is aspirational, not achievable.
volumeRead = fullBackup × (1 + incrementals × incrementalShare); restoreTime = volumeRead ÷ (perStreamRate × streams); total = rebuild + restore + verification. A restore reads more than the protected volume: a full backup plus every incremental in the chain, each of which must be applied in order. Aggregate throughput is the per-stream rate times the number of streams the source and target can genuinely sustain in parallel, and the clock starts at infrastructure rebuild — not at the moment data starts moving — because on a real disaster there is nothing to restore onto yet.
Most organisations discover their RTO is fiction during the first real restore, because the plan counted data-copy time and forgot the chain, the rebuild and the verification.
This calculator takes 9 inputs: Data to restore, Restore throughput per stream, Parallel restore streams, Incrementals since the last full, Each incremental as a share of the full, Infrastructure rebuild before restore starts, Share of restored data verified, Verification throughput, RTO target. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
Each incremental has to be read and applied in sequence, so a 30-day chain at 8% each means reading 3.4× the protected volume. Synthetic fulls or periodic full backups collapse the chain and cut restore time proportionally.
You can, but you are then declaring service restored without knowing whether the data is intact — and after ransomware you also do not know whether you restored the encrypted or backdoored copy. Verifying a sample of critical datasets is the usual compromise.