Normal bandwidth per SFTP connections?


I just started using restic and I did some initial tests to backup a VMWare virtual machine.

Size to backup : around 100 Gb (99% being the 2 large virtual disks). Restic scan in 1s.
Source : Macbook Air M1 laptop with SSD (2 Tb)
Target : (just rsyncnet in the following text as I am limited to 2 URL :slightly_smiling_face: )
Protocol : SFTP
Restic version : restic 0.16.2 compiled with go1.21.3 on darwin/arm64
Network : 5 GHz wifi then optic fiber at 1 Gbit/s and living close to my rsyncnet location.

It is worth noting that I can upload with sftp (ie. no restic) to my rsyncnet location at 200 Mbits/s with a single connection (test done twice with a 660 MB file).

My first backup succeeded in 41 minutes at a stable network speed of 40 Mbit/s (compression max and everything else default).

I have tried to play with compression and packet-size : no major impact on the upload speed.

I have tried to play with the number of sftp connections : they use 8 mbit/s each until around 10 parallel connections and then I have a diminishing return. At 50 connections, I reach the 200 Mbit/s I get with a sole classic sftp upload (see above). At 100 connections, there is no improvement anymore compared to 50.

The CPU, RAM and disk of my laptop are following without any saturation (technically the CPU reach 100% for short periods of time with max compression and 50+ connections).

Is 8 Mbit/s per connection normal in this context ? Not normal ? Any insights about other parameters to play with ?

That (low) level of SFTP performance sounds a lot like Slow SFTP transfer rate since 0.12.1 · Issue #4209 · restic/restic · GitHub .