Network backup window calculation: formulas and an overnight example
How to calculate a network backup window: formulas for speed, deduplication and traffic limits, plus an example to make backups run overnight.

Why backups don't fit into the night
The most common scenario is this: backups start at night and by morning they either haven't finished or they consume so much network that services suffer. Users complain about slow databases, sluggish mail, or slow logins. Admins see that there's no maintenance window left because the backup spills into business hours.
The problem is rarely just “not enough megabits.” The channel speed on paper rarely matches the real transfer speed for backups. Protocol overhead, encryption, competing traffic, latency and loss, and the way the backup system reads data and writes to storage all affect it. Even with a 1 Gbit/s link, the effective throughput for backup can be 2–5 times lower.
A second factor: the volume you think you copy is usually not equal to the volume sent over the wire. Incrementals, "dirty" blocks, deduplication and compression, plus retransmits due to errors change the picture dramatically. So calculating the backup window over the network starts by clarifying what actually goes over the wire, not by taking the "data on the server" number.
In short, you need to know three things: how much data must be transferred overnight, what useful speed you can get, and how much bandwidth you can allocate to backups without harming the business.
Quick wins often come from simple measures: limit speed and set traffic priority, move to incremental schemes, enable deduplication and compression where they help, stagger heavy jobs (e.g., databases and file shares), and remove storage/server bottlenecks so the network isn’t idle waiting for I/O.
A real example: a branch pushes its nightly backup to the central DC. The link is nominally 200 Mbps, but during the day it's loaded with business traffic, and at night throughput drops because of encryption and overloaded storage. In reports the backup "fits", but in reality it constantly runs late. Calculation and verification fix this, not luck.
What is a backup window and what limits apply
The backup window is the time during which you can run backups without disrupting operations. Usually this is night, but it’s important to record precise start and deadline points: when business operations stop, when the morning peak begins, and when scheduled jobs, reports or updates run.
The window is tied to two objectives. RPO answers how much data you can afford to lose (e.g., up to 1 hour of changes). RTO is how long you have to recover and be back online (e.g., service must be restored within 2 hours). Small RPO requires more frequent backups. Small RTO means you need not only to finish the copy, but also to ensure it restores quickly.
Backup type also affects the window. Full backups transfer and write lots of data but are simpler to restore. Incremental copies only changes and are usually faster, but restores depend on a chain. Synthetic fulls are assembled at the repository or backup server from previous fulls and incrementals: they reduce load on production systems but may stress storage more.
When you calculate the backup window over the network, you almost always hit real bottlenecks: network load during the target hours, disk subsystem and repository write speed, backup server and agent performance, traffic priority and limits, and parallelism (how many streams the systems can actually sustain).
Simple example: you have 6 hours at night, but from 02:00 to 03:00 there is an exchange with the bank. The "real" window is already 5 hours or less. You also shouldn’t occupy the whole window: leave margin for retries, checks and unexpected peaks.
What inputs to collect
Accurate calculation starts with measurable numbers. If you skip even one item, the backup window calculation will look good on paper but jobs will still miss the window.
First, determine how much data you actually protect. Important is not only total volume (e.g., 80 TB across file shares and VMs) but daily change: databases and mail can change 5–20% per day, archives almost none. If you lack history, pull backup system logs or measure growth for 7–14 days.
List sources and their characteristics. One large server and twenty small VMs behave differently: there are job startup costs, parallelism limits, and storage hotspots. Separate databases, file shares, VMs, physical servers and critical services.
A short table is useful: volume and average daily change per source, workload type (files, VM, DB), business peak hours, which jobs can run in parallel and which must be serial, agent/proxy locations and network segments used, and whether dedupe, compression, encryption and post-write verification are enabled.
Don’t forget hidden overheads. Dedup and compression reduce transfer but consume CPU and sometimes slow the source. Encryption and verification add time and load. This is especially noticeable in tight night windows, for example when backing up virtualization to repositories on certain server classes.
Network throughput: how to get the real number
A nominal 1 Gbit/s port almost never becomes 1 Gbit/s useful throughput for backup. For the backup-window calculation you need the working speed you can reliably see at night, not the spec number.
A simple estimate: convert the link speed to megabytes per second and allow for overhead. Quick conversion: 1 Gbit/s = 1000 Mbit/s = 125 MB/s (ideal). Then apply corrections.
Useful throughput (MB/s) = Nominal (MB/s) × K_share × (1 − Overhead)
Where K_share is the portion you can actually use for backups (e.g., 0.6 if you limit backups to 60%), and Overhead includes TCP/IP, VPN, encryption and the cost of many small files. For VPN/encryption assume 10–30% loss; with lots of small objects, add more.
Latency and packet loss can also severely reduce TCP throughput. Over long distances or between sites the same link gives different results: higher RTT and even 0.1–1% loss lead to lower throughput and a "sawtooth" transfer pattern.
Measure rather than guess:
- Run iperf between source and target (during backup times).
- Check port statistics on switches/routers: utilization, errors, drops.
- Record average backup-job speeds over several nights (minimum 3).
- Monitor RTT and loss (ping/monitoring), especially for inter-branch VPNs.
- Evaluate the impact of QoS or rate-limits along the path.
Small example: 1 Gbit/s (125 MB/s), cap for backup 50% (K_share = 0.5), overhead 20%. Useful speed: 125 × 0.5 × 0.8 = 50 MB/s. Use that to compute how many gigabytes can be sent overnight.
Deduplication and compression: how they change transferred volume
When calculating the backup window over the network, distinguish "how much changes on disk" from "how much goes over the wire." Two mechanisms usually alter the picture: compression and deduplication.
Compression reduces the size of transmitted blocks. It works well on text, logs, office docs and some VM images. It gives nearly no benefit on already-compressed data: video, JPEG/PNG, ZIP/RAR, and many database backups that are already compressed.
Deduplication removes repeats. The critical question is where it is applied:
- On the source (client-side): only unique blocks go over the wire, and the network window shrinks.
- On the target (target-side): the full stream crosses the network; savings appear only in storage.
For the network, client-side dedupe matters. In calculations, note the stage and order of dedupe and compression.
A practical formula is to compute effective transfer volume:
V_net = V_change / (K_dedup × K_comp)
Where K_dedup and K_comp are reduction factors (e.g., 2 means "half the volume"). If there's no effect, the coefficient is 1. If dedupe is target-only, use K_dedup = 1 for network calculations.
Don’t guess coefficients: get them from past job reports (sent over network vs logically protected) or run a short test on representative data.
Avoid relying on a single “magic” number. Reality fluctuates: some days DBs change more, other days OS updates run. Calculate a range and check if the worst-case fits the night window.
Traffic priority and caps: how not to harm the business
Giving backups the entire pipe will hurt regular services: mail, telephony, video calls, DB access, terminal sessions. Even at night some systems run: updates, monitoring, branch exchanges, security tasks. So treat backup as a network guest.
The clearest protection is rate-limiting backups. This can be simple (a cap at the client or proxy) or flexible (schedules, different windows per department, separate caps per branch). It prevents one big server from saturating the channel and breaking others' backups.
QoS in plain words
QoS are network rules that decide who goes first when the road is full. Traffic is classed, queued and given priority.
Usually 3–4 classes suffice: critical (voice/video, transactions), important (business apps), normal (web), background (backup). Send backups to the background queue with a rate cap so they immediately yield bandwidth when business traffic appears.
How to pick a safe cap and verify it
Start conservative and pilot for 2–3 nights:
- Allocate a share of the night channel to backups (often 20–40% of usable bandwidth).
- Set a cap and enable QoS for the backup class.
- Check morning metrics: latency, loss, user complaints, backup completion time.
- Increase the cap in steps (e.g., +10%) until you see impact.
- Record the result and configure exceptions for critical systems.
Mini scenario: a branch with 100 Mbps link has an exchange with the central DB at night. Set backup cap to 30 Mbps and QoS background. If morning DB latency rises, lower cap to 20 Mbps or move some jobs to another window.
Step-by-step backup window calculation: simple formulas
To make backups reliably fit the night, calculate the actual transfer volume, not total storage size.
Calculation steps
-
Determine the volume of changes during the backup period. For incrementals this is usually the daily change (or the change during 8–10 hours). Call it V_change (GB).
-
Apply dedupe and compression. They reduce the transferred volume. Let K_dedup be the dedupe reduction (2:1 means K_dedup = 2) and K_comp the compression reduction (1.5:1 means K_comp = 1.5). Then:
V_sent = V_change / (K_dedup × K_comp)
- Calculate useful link speed, not the nominal. Nominal throughput drops due to TCP, encryption and headers, and you often set a QoS cap. Let:
S_useful = S_nom × K_overhead × K_share
where K_overhead is usually 0.7–0.9 (after overheads), and K_share is the fraction of the link you allocate to backups (e.g., 0.3 for 30%).
Check units before dividing:
- 1 byte = 8 bits
- 1 MB/s = 8 Mbit/s
- 1 GB = 1024 MB
- Add a buffer for peaks and surprises: retries, verification, parallel jobs, and competition for disk. A practical buffer is 20–40%.
Overall time formula
Time (sec) = (V_sent (MB) / S_useful (MB/s)) × K_buffer
This quickly shows what hits the ceiling: change volume, poor dedupe, too-tight caps, or insufficient useful throughput.
Example: make the backup actually fit the night
Here is an example showing the calculation and the effect of dedupe.
Suppose you have 12 TB on a file server. Fulls are rare; every night you run incrementals. The backup window is 9 hours (22:00–07:00). To avoid impacting business, backups have a QoS cap: 300 Mbps.
Convert the cap to useful throughput. Overheads (TCP, encryption, acknowledgements, “empty” blocks) reduce capacity. Use efficiency 0.85.
Useful speed:
S_useful = S_lim × 0.85 = 300 × 0.85 = 255 Mbps
In MB/s that is about 255 / 8 = 31.9 MB/s.
Now the nightly change. If daily change is 5%:
Δ = 12 TB × 5% = 0.6 TB = 600 GB
Transfer time without dedupe/compression:
T = Volume / Speed = 600 GB / 31.9 MB/s ≈ 5.3 hours
You fit into a 9-hour window with room for small dips.
With dedupe and compression giving a combined factor of 2.5 (i.e., 2.5× reduction):
Network_volume = 600 GB / 2.5 = 240 GB
T = 240 GB / 31.9 MB/s ≈ 2.1 hours
The difference matters: dedupe not only helps you fit the night, it reduces the risk that a transient load spike will cause the backup to miss the window.
If calculations match but reality is slower, the network may not be the bottleneck. Look for these signs: the source doesn't read fast enough (disk/SAN saturated), the repository writes slowly (especially at peak), backup server CPU is at 100% due to encryption/compression, backups are bursty due to many small files, or too many parallel jobs for one server or storage.
Simple idea: the slowest link determines backup time. So monitor read and write speeds across your infrastructure, whether a single server or a rack of S200 Series class servers.
How to validate calculations and achieve stable results
Any backup-window calculation is a hypothesis. Turn it into a working plan with a test run under conditions as close as possible to a real night: the same route, the same limits, the same parallelism and the same data sources. Daytime tests on an empty network are almost always too optimistic.
Practical approach: pick a representative group (10–20 VMs or one file server), run backups for 2–3 consecutive nights and compare results to the calculation. One lucky night can deceive you; stability appears only over a series.
What to watch in backup and storage reports to find where time is lost:
- average and peak transfer speeds (per job and aggregated)
- actual volumes before and after compression/dedupe (preferably GB per night)
- time spent in preparation and finalization (scan, synthetic operations, verification, indexing)
- retries, timeouts, re-reads, access errors
- bottlenecks on source or target (CPU, disk, job queues)
Also check the network: link utilization, port queues, loss and jitter. If packet loss increases during backup, you may see nominal throughput but suffer retransmits and buffer overflows.
When measured time differs from calculation, change one parameter at a time and re-test over several nights. Common fixes: set a rate cap and QoS, change parallelism (fewer streams can improve total throughput), split jobs into waves, exclude noisy directories and temp files (if acceptable), or move heavy tasks closer to data.
Example: if a switch queue grows during the night and reports show retries, first set a modest cap and split jobs into two waves. Often the total time decreases even though peak throughput falls.
Typical mistakes that make calculations fail
The biggest cause is unit errors. Mixing Mbit/s and MB/s makes the window eight times larger. Pick one unit (e.g., MB/s) and convert everything.
Another trap is using port speed instead of useful throughput. A 1 Gbit/s line on paper rarely means 125 MB/s for a backup: protocol overheads, peaks, and storage/server limits apply. Always base the calculation on measured throughput during the relevant hours.
Forgotten parallel bottlenecks also break calculations. Even if the network can carry it, backups may hit disk, CPU (especially with encryption/compression), or repository limits. Often the pattern is: high speed for the first 10 minutes, then a long low-speed tail.
Deduplication is another pitfall. It helps on office files but not on already-compressed media or some data types. If you assume a large dedupe factor without verification, the calculation will be optimistic.
Remember overheads typically recalled at the last minute: retries due to packet loss, post-copy verification, competing nightly tasks (scans, updates, ETL), and data growth (build in at least 10–20% margin).
Simple example: calculation shows 6 hours, but you forgot a 45-minute verification and 10% extra for retries. The real time becomes ~7.5 hours and the backup consistently misses the window.
Checklist and next steps
Before rolling night backups into production, do a final short check to catch small issues: wrong interface cap, missing QoS, unaccounted data growth or variable bandwidth from neighboring traffic.
Mini-checklist before the night window:
- Confirm the exact volume for the nightly backup: incremental, full, logs, and administrative overhead.
- Verify the time window: start, finish, and leave at least 15–30% spare.
- Lock down caps and priorities: the maximum allowed for backups (Mbps) and which services always outrank backups.
- Compare dedupe and compression coefficients on your data, not vendor claims.
- Ensure the storage and backup server can accept the stream (otherwise the network is not the problem).
Quick checks during the first week after launch: measure actual average transfer speed per night, check service latencies, and compare backup completion day-to-day. If times vary a lot, the usual causes are competing traffic, job schedules, or storage bottlenecks.
30-day plan:
- Recalculate inputs weekly: growth, new systems, schedule changes.
- Review policies monthly: what must be backed up at night and what can move.
- After major changes (new branch, new link, migration) run a control job and update caps.
Revisit infrastructure if, despite reasonable caps and realistic coefficients, you still can’t fit the window or backups disrupt services. Common root causes: insufficient inter-site bandwidth, slow storage, or weak dedupe/backup servers. In such cases involve a systems integrator. GSE.kz (gse.kz) provides system integration and 24/7 support and supplies servers for backup and infrastructure.
FAQ
What is a “backup window” and why isn’t “night” enough?
The backup window is the time when backups can run without noticeable harm to services. Fix not only a simple label like "23:00–06:00", but also: - the real start (when business operations and scheduled tasks finish) - the deadline (when the morning peak begins) - any "black zones" inside the window (for example, exchanges or reports) And leave a 15–30% buffer for retries and slowdowns.
Why doesn't a backup fit into the night even with a “fast link”?
Because 1 Gbit/s is a theoretical port value; backups lose speed in practice due to: - protocol overhead (TCP/IP) - encryption/VPN - competing traffic - latency and packet loss (RTT, packet loss) - QoS/rate-limit constraints - read limits at the source or write limits at the repository Use the measured "useful" speed in calculations, not the spec sheet.
What data should I collect before calculating the backup window?
Collect at least the following: - the volume of changes per night/day for each source (not just total stored data) - source types (DBs, files, VMs) and their change patterns - real backup-job speeds from logs over 3+ nights - traffic limits (caps, QoS) and hours when limits can’t be used - where compression/deduplication run (client-side or target-side) - read/write performance (disks, SAN, repository) Without these numbers, calculations tend to be overly optimistic.
How to roughly estimate real throughput for backups?
Convert the link speed to MB/s and apply adjustments: - 1 Gbit/s ≈ 125 MB/s (ideal) - multiply by the share you actually give to backups (e.g., 0.3–0.6) - multiply by an efficiency coefficient (often 0.7–0.9) Example: 1 Gbit/s → 125 MB/s, cap 50% and 20% losses: `125 × 0.5 × 0.8 = 50 MB/s`. Best practice is to confirm with measurements (backup logs and network tests) during night hours.
How do deduplication and compression actually affect network transfer?
**Compression** reduces block size but helps little on already-compressed formats (ZIP, JPEG/PNG, video, many dumps). **Deduplication** removes duplicates. Where deduplication happens matters: - client-side: less data goes over the wire, the network window shrinks. - target-side: the full stream crosses the network and savings appear only in storage. Use coefficients from reports: compare "logical protected" vs "sent over the network". Don’t assume optimistic numbers without verification.
What is a simple formula to calculate backup time over the network?
The practical steps: 1) Estimate the volume of changes for the backup period: `V_change` (GB). 2) Apply dedupe and compression: `V_sent = V_change / (K_dedup × K_comp)`. 3) Calculate useful speed `S_useful` (MB/s) accounting for limits and overhead. 4) Time: `T = (V_sent in MB / S_useful) × K_buffer`. Buffers of 1.2–1.4 (20–40%) are common to allow retries, verification and short dips.
How to limit backups so they don’t “take down” the network and services?
Treat backups as a guest in the network, not the owner. Use limits and QoS to protect business traffic. A practical workflow: - start with a conservative cap (often 20–40% of the available night bandwidth) - classify backup traffic as background via QoS - run 2–3 nights and check backup time, latency, packet loss and user complaints - increase the cap in small steps (e.g., +10%) until you see the first noticeable effect on services This fixes a working maximum instead of relying on theory.
How to tell whether the bottleneck is storage/CPU rather than the network?
Signs the limit is not the network: - high speed at start, then a drop that stays low (disk or SAN bottleneck) - CPU on the backup server or source is pegged due to encryption/compression - repository cannot keep up (queues, high I/O latency) - many small files causing bursts and overhead Check backup logs (speed, retries) together with CPU/disk metrics on source and target.
What typical mistakes make calculations diverge from reality?
Common mistakes that break calculations: - confusing Mbit/s and MB/s (an ×8 error) - using total stored data instead of the change set - assuming dedupe helps the network when it runs only on the target - forgetting verification, indexing, synthetic operations - ignoring competing night tasks (reports, updates, ETL) - no buffer for retries and data growth If reality differs from the calculation, change one parameter at a time and validate across several nights, not just one attempt.
What to do if calculations say it fits, but backups still run late?
Run a pilot on a representative group (10–20 VMs or one file server) for 2–3 nights and collect: - average and peak speeds - "sent over the network" volume - prep/finish times (scan, synthetic fulls, verification, indexing) - retries and access errors Improvements that usually help: - split heavy jobs into waves - tune parallelism (fewer streams can be faster) - set proper caps and QoS - move heavy processing to a more suitable node/segment If you still can’t fit the window after tuning, review infrastructure: links, storage, or backup servers. In such cases it’s useful to involve a systems integrator; GSE.kz provides system integration, 24/7 support and supplies servers for backup and infrastructure.