Guidance Needed to Improve Sync Performance on 10 Mbps Link

totae

Member
May 27, 2023
23
1
8
Hello,

I am experiencing a network bottleneck issue.

The network bandwidth between our Main site and DR site is limited to 10 Mbps. I understand this is quite slow, but we are unable to increase the bandwidth at this time due to cost constraints.

As a result, the synchronization jobs take a very long time to complete. I have already tried separating the sync tasks, but it did not improve the performance.

Could you please suggest any methods or best practices to improve synchronization speed under these limitations?

Example : seeding function on Veeam
https://helpcenter.veeam.com/docs/vbr/userguide/replica_seeding.html?ver=13

Thank you for your support.

Code:
proxmox-backup: 4.0.0 (running kernel: 6.14.11-4-pve)
proxmox-backup-server: 4.0.16-1 (running version: 4.0.16)
proxmox-kernel-helper: 9.0.4
proxmox-kernel-6.14.11-4-pve-signed: 6.14.11-4
proxmox-kernel-6.14: 6.14.11-4
proxmox-kernel-6.14.8-2-pve-signed: 6.14.8-2
ifupdown2: 3.3.0-1+pmx10
libjs-extjs: 7.0.0-5
proxmox-backup-docs: 4.0.16-1
proxmox-backup-client: 4.0.16-1
proxmox-mail-forward: 1.0.2
proxmox-mini-journalreader: 1.6
proxmox-offline-mirror-helper: 0.7.2
proxmox-widget-toolkit: 5.0.6
pve-xtermjs: 5.5.0-2
smartmontools: 7.4-pve1
zfsutils-linux: 2.3.4-pve1
 
Is it about the first initial sync or about later syncs?
 
Okay. For the initial sync, you could have either used a "Removable Datastore", sync to it, move it to the remote location, add it there as well and then sync from it to the local remote datastore. https://pbs.proxmox.com/docs/storage.html#removable-datastores

Or, the harder way, manually copy the full datastore directory (including hidden files and directories, starting with a ., e.g. the .chunks dir) to an external disk and seed the remote location that way.

But once the initial sync is done, there is not much more to optimize since only new chunks and the backup metadata of new backup snapshots will be transferred.
 
  • Like
Reactions: Johannes S
Thank you for the update.

Regarding the Removable Datastore method, this may not be suitable for our infrastructure because our storage is local (different storage on each site) and we perform synchronization daily.

If we synchronize the /. and /.chunks directories, will this synchronize all Groups/VMs?
Currently, we use filtered sync for specific Groups/VMs to reduce the amount of data transferred.

Best Regards,
 
This sounds, you dont use the Sync Feature from PBS.
I have a Customer with a Location Connected over 2 MBit and this works Fine.
Can you describe your Configuration?
 
  • Like
Reactions: Johannes S
Hello Falk,

This config sync job. (example job)
Screenshot 2569-01-12 at 11.35.21.png

Log last sync.

Code:
ProxmoxBackup Server 4.0.16
Search
(remote) store, remote, id, owner, direction
()
2026-01-11T23:00:00+07:00: Starting datastore sync job 'PBS-DR:backupdr:me:DMZ:Sync-DMZ-to-DR'
2026-01-11T23:00:00+07:00: task triggered by schedule '23:00'
2026-01-11T23:00:00+07:00: sync datastore 'me' to 'PBS-DR/backupdr'
2026-01-11T23:00:00+07:00: ----
2026-01-11T23:00:00+07:00: Syncing datastore 'me', namespace 'DMZ' into datastore 'backupdr', namespace 'Backup-DMZ'
2026-01-11T23:00:00+07:00: Found 3 groups to sync (out of 13 total)
2026-01-11T23:00:00+07:00: skipped: 6 snapshot(s) (2026-01-04T22:00:03Z .. 2026-01-09T22:00:03Z) - older than the newest snapshot present on sync target
2026-01-11T23:06:04+07:00: Percentage done: 33.33% (1/3 groups)
2026-01-11T23:06:04+07:00: Removed vanished snapshot vm/3001/2026-01-03T22:00:01Z from remote
2026-01-11T23:06:05+07:00: skipped: 6 snapshot(s) (2026-01-04T22:00:42Z .. 2026-01-09T22:00:53Z) - older than the newest snapshot present on sync target
2026-01-11T23:14:42+07:00: Percentage done: 66.67% (2/3 groups)
2026-01-11T23:14:42+07:00: Removed vanished snapshot vm/3002/2026-01-03T22:00:43Z from remote
2026-01-11T23:14:42+07:00: skipped: 6 snapshot(s) (2026-01-04T22:01:23Z .. 2026-01-09T22:01:42Z) - older than the newest snapshot present on sync target
2026-01-12T01:17:45+07:00: Percentage done: 100.00% (3/3 groups)
2026-01-12T01:17:45+07:00: Removed vanished snapshot vm/3003/2026-01-03T22:01:26Z from remote
2026-01-12T01:17:45+07:00: Finished syncing namespace DMZ, current progress: 2 groups, 1 snapshots
2026-01-12T01:17:45+07:00: Summary: sync job pushed 730.001 GiB in 186881 chunks (average rate: 90.46 MiB/s)
2026-01-12T01:17:45+07:00: Summary: removed vanished: snapshots: 3, groups: 0, namespaces: 0
2026-01-12T01:17:45+07:00: sync job 'PBS-DR:backupdr:me:DMZ:Sync-DMZ-to-DR' end
2026-01-12T01:17:45+07:00: queued notification (id=51fe0f0e-c803-4911-8eed-335570e59e2b)
2026-01-12T01:17:45+07:00: TASK OK

The synchronization has completed successfully.
However, I am not sure whether there are any additional settings or configurations that could improve the speed and help complete future jobs faster.

Best Regards,
 
No major tuning measures are possible.
The speed always depends on the amount of changed data and the bandwidth. For most VMs, the daily changes are within reasonable limits.
P.S. I prefer to use API tokens for sync jobs instead of own users.