Skip to content

Instantly share code, notes, and snippets.

@bdmorin
Created July 7, 2022 20:41
Show Gist options
  • Save bdmorin/4327f0b833731f4b595ac2d87eac26be to your computer and use it in GitHub Desktop.
Save bdmorin/4327f0b833731f4b595ac2d87eac26be to your computer and use it in GitHub Desktop.
sshfs vs rclone

Mount SSHFS

> sshfs -o uid=1000,gid=1000 bdmorin@meltdown.local:/Volumes/horace/unsorted ./sshfs

Mount Rclone

> rclone config
Current remotes:

Name                 Type
====                 ====
meltdown             sftp

rclone mount meltdown:/Volumes/horace/unsorted rclone --daemon

Each directory will copy to local. nothing fancy.

> du -hs ./*
756M	./rclone
4.0K	./rclone_local
764M	./sshfs
4.0K	./sshfs_local

Hyperfine test

> hyperfine -i "cp -rf ./sshfs/* ./sshfs_local/" "cp -rf ./rclone/* ./rclone_local/"
Benchmark 1: cp -rf ./sshfs/* ./sshfs_local/
  Time (mean ± σ):     70.518 s ±  0.266 s    [User: 0.009 s, System: 1.050 s]
  Range (min … max):   69.952 s … 71.003 s    10 runs

Benchmark 2: cp -rf ./rclone/* ./rclone_local/
  Time (mean ± σ):     71.643 s ±  1.139 s    [User: 0.014 s, System: 1.181 s]
  Range (min … max):   70.548 s … 73.324 s    10 runs

Summary
  'cp -rf ./sshfs/* ./sshfs_local/' ran
    1.02 ± 0.02 times faster than 'cp -rf ./rclone/* ./rclone_local/'

> du -hs ./*
756M	./rclone
756M	./rclone_local
764M	./sshfs
756M	./sshfs_local

Curious slight difference in sizes on sshfs remote/local and rclone remote. I mounted rclone as sftp, I think my next attempt will be to mount that directory as webdav to see if there's a speed difference. I also belive there are lots of options for optimizations, but I was trying to see what the baseline is.

Let me know if you're interested in seeing more!

Basic Network diagram of the experiment.

CleanShot 2022-07-07 at 15 23 54

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment