Copying files after "rclone mount" very slow comparing to other means of connection to my local NAS in Linux Mint 21

What is the problem you are having with rclone?

Copying files with rclone is very slow after connecting to and mounting my local (home LAN) NAS in Linux Mint 21. Transfers get to max 14MB/s.

This is in contrast with connecting to my NAS with SAMBA directly from Nemo - Mint's native file manager. Copying files with this method gets to just over 70MB/s.

What is making the difference?

Run the command 'rclone version' and share the full output of the command.

rclone v1.60.0
- os/version: linuxmint 21 (64 bit)
- os/kernel: 5.15.0-53-generic (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.19.2
- go/linking: static
- go/tags: none

Which cloud storage system are you using? (eg Google Drive)

None. I connect to my local Qnap NAS over LAN.

The command you were trying to run (eg rclone copy /tmp remote:tmp)

rclone mount NAS:Public ~/Mounted/NAS

The rclone config contents with secrets removed.

type = smb
host = 192.168.xx.xx
user = admin
pass = xxxxxxxx

A log from the command with the -vv flag

I cut some of the stuff out from the output as it contained part of the folder structure of my NAS beyond first level.

2022/11/18 19:08:45 DEBUG : rclone: Version "v1.60.0" starting with parameters ["rclone" "mount" "NAS:Public" "/home/user/Mounted/NAS" "-vv"]
2022/11/18 19:08:45 DEBUG : Creating backend with remote "NAS:Public"
2022/11/18 19:08:45 DEBUG : Using config file from "/home/user/.config/rclone/rclone.conf"
2022/11/18 19:08:45 INFO  : smb://admin@192.168.xx.xx:445/Public/: poll-interval is not supported by this remote
2022/11/18 19:08:45 DEBUG : smb://admin@192.168.xx.xx:445/Public/: Mounting on "/home/user/Mounted/NAS"
2022/11/18 19:08:45 DEBUG : : Root: 
2022/11/18 19:08:45 DEBUG : : >Root: node=/, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Lookup: name=".xdg-volume-info"
2022/11/18 19:08:45 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Lookup: name="autorun.inf"
2022/11/18 19:08:45 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2022/11/18 19:08:45 DEBUG : /: Lookup: name=".Trash"
2022/11/18 19:08:45 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Lookup: name=".Trash-1000"
2022/11/18 19:08:45 DEBUG : /: >Lookup: node=.Trash-1000/, err=<nil>
2022/11/18 19:08:45 DEBUG : .Trash-1000/: Attr: 
2022/11/18 19:08:45 DEBUG : .Trash-1000/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : .Trash-1000/: Lookup: name="files"
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : .Trash-1000/: >Lookup: node=.Trash-1000/files/, err=<nil>
2022/11/18 19:08:45 DEBUG : .Trash-1000/files/: Attr: 
2022/11/18 19:08:45 DEBUG : .Trash-1000/files/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : .Trash-1000/files/: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : .Trash-1000/files/: >ReadDirAll: item=2, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Attr: 
2022/11/18 19:08:45 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:45 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:45 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:45 DEBUG : /: Lookup: name="autorun.inf"
2022/11/18 19:08:45 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2022/11/18 19:08:55 DEBUG : /: Attr: 
2022/11/18 19:08:55 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Attr: 
2022/11/18 19:08:56 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : : Statfs: 
2022/11/18 19:08:56 DEBUG : : >Statfs: stat={Blocks:478447129 Bfree:102896922 Bavail:102896922 Files:1000000000 Ffree:1000000000 Bsize:4096 Namelen:255 Frsize:4096}, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name=".Trash"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2022/11/18 19:08:56 DEBUG : /: Lookup: name=".Trash-1000"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=.Trash-1000/, err=<nil>
2022/11/18 19:08:56 DEBUG : .Trash-1000/: Attr: 
2022/11/18 19:08:56 DEBUG : .Trash-1000/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: ReadDirAll: 
2022/11/18 19:08:56 DEBUG : /: >ReadDirAll: item=19, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name="Games"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=Games/, err=<nil>
2022/11/18 19:08:56 DEBUG : Games/: Attr: 
2022/11/18 19:08:56 DEBUG : Games/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name=".hidden"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2022/11/18 19:08:56 DEBUG : /: Attr: 
2022/11/18 19:08:56 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name=".record_nvr_unk"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=.record_nvr_unk/, err=<nil>
2022/11/18 19:08:56 DEBUG : .record_nvr_unk/: Attr: 
2022/11/18 19:08:56 DEBUG : .record_nvr_unk/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name="Files"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=Files/, err=<nil>
2022/11/18 19:08:56 DEBUG : Files/: Attr: 
2022/11/18 19:08:56 DEBUG : Files/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name="Download"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=Download/, err=<nil>
2022/11/18 19:08:56 DEBUG : Download/: Attr: 
2022/11/18 19:08:56 DEBUG : Download/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name="Movies"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=Movies/, err=<nil>
2022/11/18 19:08:56 DEBUG : Movies/: Attr: 
2022/11/18 19:08:56 DEBUG : Movies/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name=".Qdbglog"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=.Qdbglog/, err=<nil>
2022/11/18 19:08:56 DEBUG : .Qdbglog/: Attr: 
2022/11/18 19:08:56 DEBUG : .Qdbglog/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name=".diagnosis"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=.diagnosis, err=<nil>
2022/11/18 19:08:56 DEBUG : .diagnosis: Attr: 
2022/11/18 19:08:56 DEBUG : .diagnosis: >Attr: a=valid=1s ino=0 size=377487360 mode=-rw-rw-r--, err=<nil>
2022/11/18 19:08:56 DEBUG : .diagnosis: Open: flags=OpenReadOnly+0x40000
2022/11/18 19:08:56 DEBUG : .diagnosis: Open: flags=O_RDONLY|0x40000
2022/11/18 19:08:56 DEBUG : .diagnosis: >Open: fd=.diagnosis (r), err=<nil>
2022/11/18 19:08:56 DEBUG : .diagnosis: >Open: fh=&{.diagnosis (r)}, err=<nil>
2022/11/18 19:08:56 DEBUG : &{.diagnosis (r)}: Read: len=16384, offset=0
2022/11/18 19:08:56 DEBUG : .diagnosis: ChunkedReader.openRange at 0 length 134217728
2022/11/18 19:08:56 DEBUG : .diagnosis: ChunkedReader.Read at 0 length 4096 chunkOffset 0 chunkSize 134217728
2022/11/18 19:08:56 DEBUG : .diagnosis: ChunkedReader.Read at 4096 length 8192 chunkOffset 0 chunkSize 134217728
2022/11/18 19:08:56 DEBUG : .diagnosis: ChunkedReader.Read at 12288 length 16384 chunkOffset 0 chunkSize 134217728
2022/11/18 19:08:56 DEBUG : .diagnosis: ChunkedReader.Read at 28672 length 32768 chunkOffset 0 chunkSize 134217728
2022/11/18 19:08:56 DEBUG : &{.diagnosis (r)}: >Read: read=16384, err=<nil>
2022/11/18 19:08:56 DEBUG : &{.diagnosis (r)}: Read: len=32768, offset=16384
2022/11/18 19:08:56 DEBUG : &{.diagnosis (r)}: Flush: 
2022/11/18 19:08:56 DEBUG : .diagnosis: ChunkedReader.Read at 61440 length 65536 chunkOffset 0 chunkSize 134217728
2022/11/18 19:08:56 DEBUG : &{.diagnosis (r)}: >Read: read=32768, err=<nil>
2022/11/18 19:08:56 DEBUG : &{.diagnosis (r)}: >Flush: err=<nil>
2022/11/18 19:08:56 DEBUG : &{.diagnosis (r)}: Release: 
2022/11/18 19:08:56 DEBUG : .diagnosis: ReadFileHandle.Release closing
2022/11/18 19:08:56 DEBUG : /: Lookup: name="Music"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=Music/, err=<nil>
2022/11/18 19:08:56 DEBUG : Music/: Attr: 
2022/11/18 19:08:56 DEBUG : Music/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name="Military Publications"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=Military Publications/, err=<nil>
2022/11/18 19:08:56 DEBUG : Military Publications/: Attr: 
2022/11/18 19:08:56 DEBUG : Military Publications/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name="Temp"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=Temp/, err=<nil>
2022/11/18 19:08:56 DEBUG : Temp/: Attr: 
2022/11/18 19:08:56 DEBUG : Temp/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name=".nvr"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=.nvr/, err=<nil>
2022/11/18 19:08:56 DEBUG : .nvr/: Attr: 
2022/11/18 19:08:56 DEBUG : .nvr/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name=".mxpg_raw"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=.mxpg_raw/, err=<nil>
2022/11/18 19:08:56 DEBUG : .mxpg_raw/: Attr: 
2022/11/18 19:08:56 DEBUG : .mxpg_raw/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name="record_nvr_alarm"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=record_nvr_alarm/, err=<nil>
2022/11/18 19:08:56 DEBUG : record_nvr_alarm/: Attr: 
2022/11/18 19:08:56 DEBUG : record_nvr_alarm/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name=".record_nvr_pre"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=.record_nvr_pre/, err=<nil>
2022/11/18 19:08:56 DEBUG : .record_nvr_pre/: Attr: 
2022/11/18 19:08:56 DEBUG : .record_nvr_pre/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name=".record_nvr_unf"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=.record_nvr_unf/, err=<nil>
2022/11/18 19:08:56 DEBUG : .record_nvr_unf/: Attr: 
2022/11/18 19:08:56 DEBUG : .record_nvr_unf/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name=".record_nvr_tmp"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=.record_nvr_tmp/, err=<nil>
2022/11/18 19:08:56 DEBUG : .record_nvr_tmp/: Attr: 
2022/11/18 19:08:56 DEBUG : .record_nvr_tmp/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : record_nvr_alarm/: ReadDirAll: 
2022/11/18 19:08:56 DEBUG : &{.diagnosis (r)}: >Release: err=<nil>
2022/11/18 19:08:56 DEBUG : : Statfs: 
2022/11/18 19:08:56 DEBUG : : >Statfs: stat={Blocks:478447129 Bfree:102896922 Bavail:102896922 Files:1000000000 Ffree:1000000000 Bsize:4096 Namelen:255 Frsize:4096}, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Attr: 
2022/11/18 19:08:56 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name=".Trash"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2022/11/18 19:08:56 DEBUG : Temp/: Attr: 
2022/11/18 19:08:56 DEBUG : Temp/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name=".Trash"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2022/11/18 19:08:56 DEBUG : record_nvr_alarm/: Attr: 
2022/11/18 19:08:56 DEBUG : record_nvr_alarm/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name=".Trash"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2022/11/18 19:08:56 DEBUG : Music/: Attr: 
2022/11/18 19:08:56 DEBUG : Music/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name=".Trash"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2022/11/18 19:08:56 DEBUG : Movies/: Attr: 
2022/11/18 19:08:56 DEBUG : Movies/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name=".Trash"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2022/11/18 19:08:56 DEBUG : Military Publications/: Attr: 
2022/11/18 19:08:56 DEBUG : Military Publications/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name=".Trash"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2022/11/18 19:08:56 DEBUG : Games/: Attr: 
2022/11/18 19:08:56 DEBUG : Games/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name=".Trash"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2022/11/18 19:08:56 DEBUG : Files/: Attr: 
2022/11/18 19:08:56 DEBUG : Files/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2022/11/18 19:08:56 DEBUG : /: Lookup: name=".Trash"
2022/11/18 19:08:56 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2022/11/18 19:08:56 DEBUG : Download/: Attr: 
2022/11/18 19:08:56 DEBUG : Download/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>

hello and welcome to the forum,

are you testing with a single file, multiple files, mix of small/large files.

have you done any testing using rclone copy
--- rclone copy using NAS:Public

--- rclone copy direct to the nas, simple file copy, not using NAS:Public
same as you would using cp from the linux command line

https://github.com/hirochachacha/go-smb2/issues/52

as the smb remote is new, i did some quick testing on windows.

rclone copy direct to a windows server, not using rclone mount, not using smb remote.
net use x: \\192.168.62.233\dest /user:user password

rclone copy d:\data\iso\ubuntu\ubuntu-21.10-live-server-amd64\ubuntu-21.10-live-server-amd64.iso x:\dest --progress
Transferred:        1.182 GiB / 1.182 GiB, 100%, 30.893 MiB/s, ETA 0s
Transferred:            1 / 1, 100%
Elapsed time:        38.9s

[nas]
type = smb
host = 192.168.62.233
user = user
pass = password

rclone copy to smb remote named nas:

rclone copy d:\data\iso\ubuntu\ubuntu-21.10-live-server-amd64\ubuntu-21.10-live-server-amd64.iso nas:dest --progress
Transferred:        1.182 GiB / 1.182 GiB, 100%, 62.748 MiB/s, ETA 0s
Transferred:            1 / 1, 100%
Elapsed time:        19.4s

with rclone mount nas: b:\rclone\mount\nas
and using file manager named double commander

image

1 Like

Thanks for such a quick reply @asdffdsa !

I'm trying to copy Linux Mint iso, that's around 2.3GiB.


The result of rclone copy --progress NAS:Public/Download/linuxmint-21-cinnamon-64bit.iso ~/Downloads is:

Transferred:        2.281 GiB / 2.281 GiB, 100%, 13.269 MiB/s, ETA 0s
Transferred:            1 / 1, 100%
Elapsed time:      2m58.0s
2022/11/18 20:21:39 Failed to copy: context canceled

I'm not sure why it failed to copy although the file has been copied completely.


Another command rclone copy --progress ~/Downloads/linuxmint-21-cinnamon-64bit.iso ~/Mounted/NAS and it outputs this:

Transferred:        2.281 GiB / 2.281 GiB, 100%, 11.039 MiB/s, ETA 0s
Transferred:            1 / 1, 100%
Elapsed time:      3m15.2s

I don't know if this is what you meant by " rclone copy direct to the nas". I had to use rclone mount to mount destination first. Unless what you meant is to use the mount done by Nemo and cp command? I'm a little lost on this one TBH, sorry.

using samba

not using rclone copy, not using rclone mount, not using ~/Mounted/NAS
as if rclone was not installed on your machine.

1 Like

need to update rclone to latest.
rclone selfupdate

1 Like

I see. I thought for a second I could use rclone copy to copy files without using any connection to the remote. Just in case if you're wondering why there are different file sizes shown on screenshots - I cancelled copy in a halfway through and used this partially copied file to copy it back and forth. Hope that makes sense.

Just like you I used latest Double Commander (after Norton Commander in DOS and later Total Commander in Windows I can't live without two-panel file manager :slightly_smiling_face:) and it goes like this:

connection established with Nemo:

  • to NAS
    Screenshot from 2022-11-18 20-52-53

  • from NAS
    Screenshot from 2022-11-18 20-51-09

connection established with rclone:

  • to NAS
    Screenshot from 2022-11-18 20-53-34

  • from NAS
    Screenshot from 2022-11-18 20-54-27

yeah, those were the days - for me, tandy trash-80

and from the command line direct to the nas, not using the rclone mountpoint
rclone copy -vv --progress to/from smb://nas.local/public

1 Like

Following your advice I typed in:
rclone copy -vv --progress ~/linuxmint-21-cinnamon-64bit.iso smb://nas.local/public

And the output was:

2022/11/20 14:19:59 DEBUG : rclone: Version "v1.60.1" starting with parameters ["rclone" "copy" "-vv" "--progress" "/home/user/linuxmint-21-cinnamon-64bit.iso" "smb://nas.local/public"]
2022/11/20 14:19:59 DEBUG : Creating backend with remote "/home/user/linuxmint-21-cinnamon-64bit.iso"
2022/11/20 14:19:59 DEBUG : Using config file from "/home/user/.config/rclone/rclone.conf"
2022/11/20 14:19:59 DEBUG : fs cache: adding new entry for parent of "/home/user/linuxmint-21-cinnamon-64bit.iso", "/home/user"
2022/11/20 14:19:59 DEBUG : Creating backend with remote "smb://nas.local/public"
2022/11/20 14:19:59 Failed to create file system for "smb://nas.local/public": didn't find section in config file

Then I mounted NAS with "mount" command and tried rclone copy -vv --progress ~/linuxmint-21-cinnamon-64bit.iso ~/Mounted/temp again, with this result:

2022/11/20 14:37:34 DEBUG : rclone: Version "v1.60.1" starting with parameters ["rclone" "copy" "-vv" "--progress" "/home/user/linuxmint-21-cinnamon-64bit.iso" "/home/user/Mounted/temp"]
2022/11/20 14:37:34 DEBUG : Creating backend with remote "/home/user/linuxmint-21-cinnamon-64bit.iso"
2022/11/20 14:37:34 DEBUG : Using config file from "/home/user/.config/rclone/rclone.conf"
2022/11/20 14:37:34 DEBUG : fs cache: adding new entry for parent of "/home/user/linuxmint-21-cinnamon-64bit.iso", "/home/user"
2022/11/20 14:37:34 DEBUG : Creating backend with remote "/home/user/Mounted/temp"
2022-11-20 14:37:34 DEBUG : linuxmint-21-cinnamon-64bit.iso: Need to transfer - File not found at Destination
2022-11-20 14:38:15 DEBUG : linuxmint-21-cinnamon-64bit.iso: md5 = dcdbee2c135ccc485aa28854056ef787 OK
2022-11-20 14:38:15 INFO  : linuxmint-21-cinnamon-64bit.iso: Copied (new)
Transferred:        2.281 GiB / 2.281 GiB, 100%, 31.018 MiB/s, ETA 0s
Transferred:            1 / 1, 100%
Elapsed time:        40.8s
2022/11/20 14:38:15 INFO  : 
Transferred:        2.281 GiB / 2.281 GiB, 100%, 31.018 MiB/s, ETA 0s
Transferred:            1 / 1, 100%
Elapsed time:        40.8s

2022/11/20 14:38:15 DEBUG : 3 go routines active

might try
rclone copy ~/linuxmint-21-cinnamon-64bit.iso ~/Mounted/temp -vv --progress --ignore-checksum

might try not using rclone, something like
cp ~/linuxmint-21-cinnamon-64bit.iso ~/Mounted/temp

2022/11/20 14:55:48 DEBUG : rclone: Version "v1.60.1" starting with parameters ["rclone" "copy" "/home/user/linuxmint-21-cinnamon-64bit.iso" "/home/user/Mounted/temp" "-vv" "--progress" "--ignore-checksum"]
2022/11/20 14:55:48 DEBUG : Creating backend with remote "/home/user/linuxmint-21-cinnamon-64bit.iso"
2022/11/20 14:55:48 DEBUG : Using config file from "/home/user/.config/rclone/rclone.conf"
2022/11/20 14:55:48 DEBUG : fs cache: adding new entry for parent of "/home/user/linuxmint-21-cinnamon-64bit.iso", "/home/user"
2022/11/20 14:55:48 DEBUG : Creating backend with remote "/home/user/Mounted/temp"
2022-11-20 14:55:48 DEBUG : linuxmint-21-cinnamon-64bit.iso: Need to transfer - File not found at Destination
2022-11-20 14:56:26 INFO  : linuxmint-21-cinnamon-64bit.iso: Copied (new)
Transferred:        2.281 GiB / 2.281 GiB, 100%, 37.641 MiB/s, ETA 0s
Transferred:            1 / 1, 100%
Elapsed time:        37.7s
2022/11/20 14:56:26 INFO  : 
Transferred:        2.281 GiB / 2.281 GiB, 100%, 37.641 MiB/s, ETA 0s
Transferred:            1 / 1, 100%
Elapsed time:        37.7s

2022/11/20 14:56:26 DEBUG : 3 go routines active

cp command doesn't give off too much info, even with -v parameter:

'/home/junglized/linuxmint-21-cinnamon-64bit.iso' -> '/home/junglized/Mounted/temp/linuxmint-21-cinnamon-64bit.iso'

time cp ~/linuxmint-21-cinnamon-64bit.iso ~/Mounted/temp

at this point, i think we have enough logs for someone more experienced to comment.

1 Like

time cp result:

real	0m37.484s
user	0m0.004s
sys     0m1.546s

so in each case of using rclone copy, the speed is about the same as cp, correct?
not including when you double rcloned, that is using rclone copy to the rclone mount

1 Like

That sums it up pretty much. Slow with rclone mount, fast in any other case.

with direct to samba, rclone copy is exactly the same speed as linux cp.

Elapsed time: 37.7s

0m37.484s

1 Like

Yep. And now how to make it faster over rclone mount? Are there any options I could add to the command to make it quicker?

can add --vfs-cache-mode-full,

so when you use nemo to copy a file to the rclone mountpoint

  1. rclone first copies it to its local cache. and that operation should be quicker.
  2. then in the background, rclone moves the file from its local cache to the nas

when i add --vfs-cache-mode-full
i get this
image

whereas without --vfs-cache-mode=full

and would see in the rclone debug log. note: i edited out some stuff

2022/11/20 11:21:56 DEBUG : ubuntu-21.10-live-server-amd64.iso: vfs cache: starting upload
2022/11/20 11:22:25 DEBUG : ubuntu-21.10-live-server-amd64.iso: Multipart upload Etag: cad66d34db1df0e1f92d6fb3264d923e-243 OK
2022/11/20 11:22:25 DEBUG : ubuntu-21.10-live-server-amd64.iso: md5 = d996439e0c70b3da1a7d3c9d611fd9af OK
2022/11/20 11:22:25 INFO  : ubuntu-21.10-live-server-amd64.iso: Copied (new)
1 Like

Right, so now with --vfs-cache-mode-full flag it's lightning fast, way exceeding read/write capabilities of my NAS.

EDIT:

I noticed when the file is not cached copying is still slow, up to 14MiB/s.

no trick, did you see what i wrote up above?
rclone is using a local cache as a middle man.

i have not been able to reproduce.
maybe a difference in the way you did the samba mounts between

connecting to my NAS with SAMBA directly from Nemo
versus
cp ~/linuxmint-21-cinnamon-64bit.iso ~/Mounted/temp