SMB optimization concerning transfer rate

What is the problem you are having with rclone?

The copy via smb does not show the same performance as other smb clients (e.g., smbclient).
With my 10 Gbit/s connection I can almost max out the file transfer rate using smbclient and an optimized smb.conf configuration (an unoptimized configuration only reaches about 40%).
Using rclone, I only managed to utilize my connection by about 70% using the command provided below.
I assume, that the smb backend go-smb2 could be further optimized?
But by reading the docs, it seems to be the case that no go-smb2 options are exposed to the user.
Are there other possibilities to optimize the smb transfer rate?

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

rclone v1.68.2
- os/version: ubuntu 24.04 (64 bit)
- os/kernel: 6.8.0-51-generic (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.23.3
- go/linking: static
- go/tags: none

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

Local Samba (SMB) server.

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

rclone copy --multi-thread-streams 1024 --ignore-checksum --progress remote:share$/file /tmp

Please run 'rclone config redacted' and share the full output. If you get command not found, please make sure to update rclone.

$ rclone config redacted
[remote]
type = smb
host = XXX
user = XXX
pass = XXX
hide_special_share = false

A log from the command that you were trying to run with the -vv flag

Not of interest?

welcome to the forum,

might try increaing --transfers and --checkers

afaik, that does nothing on smb remote.

check out my howto guide
https://forum.rclone.org/t/how-to-access-smb-samba-with-rclone/42754

sure. And some people are working on it.

Already included in beta:

Work in progress:

Jump in if you think you have some ideas. I think initial smb implementation was more or less proof of concept and everything else depends on community.

BTW - I know it is off topic really but what were key changes you made to achieve it?

Thank you for the fast reply. The key options in my smb.conf are as follows:

max connections=128
large readwrite = yes
aio write size = 1
aio read size = 1
write cache size = 2097152
min receivefile size = 16384
getwd cache = yes

Furthermore, I disabled the SMB's transport encryption on the NAS (it is covered by VPN for remote access anyways.)

I am new to GO, but I will have a look on the PRs to get into it.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.