Which is more efficient?


#1

I have a 3TB USB drive connected to a Raspberry Pi. That is where I store my restic repositories.
I have a more powerful Ubuntu server which can reach the restic repository via sftp or the REST interface.

When it’s time to do a prune or a check, where is the best place of these two machines to do it?

  1. On the under-powered Raspberry Pi which has direct HDD access to the restic repository?
  2. On the powerful Linux machine which must reach the repository over the network?

Thanks - Steven


#2

I think the raspberrypi should be use only for storage (and backup if you’re backing up the raspberrypi configuration) because when it is time to prune, if your repo contains a lot of data, the raspberrypi will not be able to do it or it will be really slow because with more data, more resources require your hardware to prune. I’ve read in this forum that some big repos requires a lot of RAM. AFAIK prune is very expensive. I’ve tested this myself and running prune from another more powerful machine via sftp and storing the testing repo in a HDD connected to a raspberrypi works great. At least in my test with a 100GiB repo took about 10 minutes. Backing up the raspberrypi takes a couple of minutes but definitely more than other more capable machines. I have this raspberrypi as a media server and it really works great for storing but for more complex stuff I prefer to use my laptop or something more capable.


#3

The simplest answer is one that applies to many such questions: try both, benchmark them, and see for yourself which is faster. We can make an educated guess, but only you, with your hardware, can definitively determine the answer.

All of the following are at play:

  • The speed of the disk (read and write).
  • The speed of the USB link.
  • The speed of the network link.
  • The speed of the processor.
  • The speed and quantity of RAM.

For example, if reading the disk on the Pi is not faster than reading it over the network (the disk or the USB link is the bottleneck) then it will likely not be faster on the Pi.


#4

In my experience, this will be the limiting factor here, at least for a large repository.