Postgresql – How much time should a backup of a 100Gb database take using streaming server setup

backupbarmanpostgresql

I've installed barman on a dedicated server to backup all my postgresql servers. One of the server is now using 100Gb space and the instruction barman backup myserver takes 23 hours. I find it too long, but I have no reference points. Is it common? What should I investigate to improve such situation? Here are the settings for streaming the server

; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Backup settings (via pg_basebackup)
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
backup_method = postgres
;streaming_backup_name = barman_streaming_backup

; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; WAL streaming settings (via pg_receivexlog)
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
streaming_archiver = on
slot_name = barman
;streaming_archiver_name = barman_receive_wal
;streaming_archiver_batch_size = 50


minimum_redundancy = 3
last_backup_maximum_age = '3 DAYS'
retention_policy = 'RECOVERY WINDOW OF 16 DAYS'

Best Answer

You are plausibly in the range where network bandwidth is limiting. I get 9 hours versus your reported 23, but that could be accounted for by overhead, inefficiencies or competing network usage.

You can try turning on network compression, which requires changing the backup method, which in turn will require you to configure "ssh_command".

ssh_command=ssh postgres@192.168.0.15
backup_method = rsync
network_compression=true

Of course this will impose some CPU overhead on the server for it to do the compression.