Hi guys,
let's take a look to transfer speed from my NAS to my Computer:
Ok, more or less 5 MBytes/s. Quite disappointing.
But... try to start another simultaneous transfer, from the same NAS, same disk, same folder, to the same computer, same disk, same folder:
Oh my god!... The first file now is running 6 time faster!
The total transfer speed now is 60MBytes/s, and it is able to saturate the bandwidth of my local disk!
Let's try to pause the second file:
Good! The behaviour is repetible: now, with the second transfer paused, the first one dropped down to its initial speed of 5Mb/s.
It's magic! It's samba .
Going into detail, and adding some argumentation...
I noticed this behaviour some months ago, when I installed OMV6 on a machine where OMV5 was present and worked for years. I thought a lot before writing this thread, because SMB performance is a problem widely documented on Internet.
I found a lot of guides about how to improve SMB performance editing some configuration: example Link 1, Link 2, Link 3.
What makes me confused is the fact that in several posts/threads/websites, I found sentences like this:
Quote(the next sentence is a modified version of the most clear advice that professional users generally give to people that complains about low SMB performance)
It does not make sense to post different smb settings as these settings are serving a purpose. So they might make sense or not depending on the use case.
If you want to check whether or not a setting makes sense for your situation, it might be best to consult the documentation
Link to official SMB documentation - If printed this document is more or less 190 pages long.
I understand this advice. And I am nerdly enough to read the destination document in the most interesting parts for me.
Bad for me that I can't know if, for my Windows, is better max xmit = 65535 or max xmit = 61477 or max xmit = 25981. And, I know, this is only a provocative example useful to explain that I cannot run 65535 benchmarks in order to find which value I should set to a single SMB parameter.
What I am asking to mystelf, since I would like to understand and learn, is:
- why in my scenario is SMB joking with speed?
I think to be a very normal user - a user which represents the mean: I own a normal PC, with Windows, that is the most used OS in the world. I installed OMV on a old PC that is powerful enough to fill completely my needs. I own also other devices like tablet and smartphone with Android that is the most used smartphone OS in the world.
So, why should I change the default configuratio of Samba? Is the Samba OMV's configuration optimized for other scenarios? Please correct me as well, if you think this is not true. - if the configuration on SMB has to be changed, how can I know which knob should I touch?
The configuration of SMB is very detailed and can be adjusted in hundreds of ways.
It is not scientifically acceptable that somebody says me "make some tests and try to find your best configuration", simply because the combinations are more than the time I have left to live. Again, correct me if my reasoning is wrong - Probably the best configuration for Windows 11 is different from the best configuration for Android, and it is different from the best configuration for a Firestick TV.
So, should I give up and choose a medium configuration? Cannot SMB itself negotiate the best configuration between two devices? - Does exists a software that analyze the ethernet traffic and reccomend me an optimal configuration?
- In other words, does exists a scientific way to tune SMB?
HW configuration
The screenshots and the tests have been taken with this hardware configuration:
NAS: OMV6, latest upgrade, Gigabit connection, no SMB "modding" - only standard configuration. Intel Q6700 @ 2.66GHz. 4 GB Ram, 26%used. No Docker Containers running during the tests.
PC: Core i7/9700K, destination disk WD15EARS without load during the test, operating system Windows 11 latest version. 16 GB Ram. No apps was running during the test.
Thank you to share with me knowledge I don't have.