Slow Performance on SMB Network Drive

    • OMV 3.x

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Slow Performance on SMB Network Drive

      I am using a Windows 7 computer with another OMV rig that has a Samba share.

      I noticed that whenever I play music (FLACs) and edit photos (RAW/CR2) using Adobe Lightroom such that these music and photos files are on the same Samba network drive, the music will be quite laggy and the photo editing will be unusually slow at the same time.

      I am suspecting a few causes such as:
      1. My computer being on Windows 7 instead of 10, which means I cannot use Samba 3
      2. My OMV rig using a Realtek NIC instead of an Intel NIC
      3. My OMV rig is lacking in other ways (e.g. lack of RAM or CPU?)

      Where should I start in figuring out the cause of the problem?
    • darkarn wrote:

      Where should I start in figuring out the cause of the problem?
      Did you check out the two samba tuning threads?
      omv 4.1.23 arrakis | 64 bit | 4.15 proxmox kernel | omvextrasorg 4.1.15
      omv-extras.org plugins source code and issue tracker - github

      Please read this before posting a question and this and this for docker questions.
      Please don't PM for support... Too many PMs!
    • Weird, those tweaks went missing so I put them back in. Let's see how it goes. As for upgrading to Samba 4, it looks like the command

      Source Code

      1. apt-get -t wheezy-backports install samba=2:4.1.17+dfsg-1~bpo70+1
      won't work in OMV 3; I think it needs to be tweaked for Jessie.

      Meanwhile, will those hardware I mentioned help/hinder SMB speeds?
    • darkarn wrote:

      won't work in OMV 3; I think it needs to be tweaked for Jessie.
      OMV 3.x/jessie is using samba 4.3 already. No need to do that.

      darkarn wrote:

      Meanwhile, will those hardware I mentioned help/hinder SMB speeds?
      Lots of people have had issues with realtek networking. Are you on the 4.8 kernel? Do you have the firmware-realtek package installed?
      omv 4.1.23 arrakis | 64 bit | 4.15 proxmox kernel | omvextrasorg 4.1.15
      omv-extras.org plugins source code and issue tracker - github

      Please read this before posting a question and this and this for docker questions.
      Please don't PM for support... Too many PMs!
    • ryecoaaron wrote:

      darkarn wrote:

      won't work in OMV 3; I think it needs to be tweaked for Jessie.
      OMV 3.x/jessie is using samba 4.3 already. No need to do that.

      darkarn wrote:

      Meanwhile, will those hardware I mentioned help/hinder SMB speeds?
      Lots of people have had issues with realtek networking. Are you on the 4.8 kernel? Do you have the firmware-realtek package installed?

      I see. I have checked and saw that firmware-realtek is installed (using instructions from unix.stackexchange.com/questio…nstall-a-missing-firmware) and 4.8 kernel installed from backports under OMV-Extras
    • What motherboard are you using? I have had good luck with a couple of realtek boards but Intel networking is always good for me.
      omv 4.1.23 arrakis | 64 bit | 4.15 proxmox kernel | omvextrasorg 4.1.15
      omv-extras.org plugins source code and issue tracker - github

      Please read this before posting a question and this and this for docker questions.
      Please don't PM for support... Too many PMs!
    • Currently I am using these settings too:

      Source Code

      1. socket options = TCP_NODELAY SO_RCVBUF=65536 SO_SNDBUF=65536
      2. min receivefile size = 2048
      3. use sendfile = true
      4. aio read size = 2048
      5. aio write size = 2048
      6. write cache size = 1024000
      7. read raw = yes
      8. write raw = yes
      9. getwd cache = yes
      10. oplocks = yes
      11. max xmit = 32768
      12. dead time = 15
      13. large readwrite = yes
      Display All
      which seems to work better than my initial settings:

      Source Code

      1. socket options = TCP_NODELAY SO_RCVBUF=65536 SO_SNDBUF=65536
      2. read raw = yes
      3. write raw = yes
      4. max xmit = 65535
      5. dead time = 15
      6. getwd cache = yes
      I am unsure why, let me monitor further before making up my conclusion about settings.

      But in the meantime, am I right to say that the following will affect SMB speeds (top = biggest factor, bottom = lowest factor)?:

      1. Server SMB settings
      2. NIC
      3. Client SMB settings
      4. HDD speeds
      5. CPU/RAM
    • No max protocol or min protocol settings? I actually don't use any settings for my samba setups and they saturate gigabit.

      In your list, file size is the largest factor. Small files will never transfer as fast as large files.
      omv 4.1.23 arrakis | 64 bit | 4.15 proxmox kernel | omvextrasorg 4.1.15
      omv-extras.org plugins source code and issue tracker - github

      Please read this before posting a question and this and this for docker questions.
      Please don't PM for support... Too many PMs!
    • ryecoaaron wrote:

      No max protocol or min protocol settings? I actually don't use any settings for my samba setups and they saturate gigabit.

      In your list, file size is the largest factor. Small files will never transfer as fast as large files.

      I recalled that using the max/min protocol settings caused some of my SMB shares to be unconnectable at all but I can try again.

      And ah yes, I forgot about file size but are the rest of the factors in the list correct?
    • darkarn wrote:

      are the rest of the factors in the list correct?
      I guess. In most situations, it is just the NIC and file size. Some systems need server settings but I have never had to change a setting on the client. cpu/ram only come into play if you are using an arm board. Most newer hard drives are fast enough to saturate gigabit. So, they typically aren't the issue either.
      omv 4.1.23 arrakis | 64 bit | 4.15 proxmox kernel | omvextrasorg 4.1.15
      omv-extras.org plugins source code and issue tracker - github

      Please read this before posting a question and this and this for docker questions.
      Please don't PM for support... Too many PMs!
    • ryecoaaron wrote:

      darkarn wrote:

      are the rest of the factors in the list correct?
      I guess. In most situations, it is just the NIC and file size. Some systems need server settings but I have never had to change a setting on the client. cpu/ram only come into play if you are using an arm board. Most newer hard drives are fast enough to saturate gigabit. So, they typically aren't the issue either.

      Hmm I see. What tests should I do in the meantime? I see many commands but not sure what is for what...
    • darkarn wrote:

      What tests should I do in the meantime? I see many commands but not sure what is for what...
      What commands are you referring to?
      omv 4.1.23 arrakis | 64 bit | 4.15 proxmox kernel | omvextrasorg 4.1.15
      omv-extras.org plugins source code and issue tracker - github

      Please read this before posting a question and this and this for docker questions.
      Please don't PM for support... Too many PMs!
    • ryecoaaron wrote:

      iperf for network speed. Large files for samba speed.

      Thanks, without the Intel NIC, I am getting 40 MB/s for samba speed when copying from server to client like my computer, 90 MB/s for copying from client to server. As for iperf, I cannot do this yet as I do not have a Linux computer as a client (as per detailed here: how to find bottlenecks and increase write/read speeds ) I am unsure if another OMV host will be ok for this.
    • I went ahead with using another OMV host as the iperf client. Here's the results when the OMV host that is the iperf server does not have the Intel NIC (I will install that tonight due to some family stuff I need to go to):

      ------------------------------------------------------------
      Server listening on TCP port 12345
      TCP window size: 85.3 KByte (default)
      ------------------------------------------------------------
      [ 4] local 192.168.1.21 port 12345 connected with 192.168.1.22 port 60764
      [ ID] Interval Transfer Bandwidth
      [ 4] 0.0- 0.9 sec 100 MBytes 924 Mbits/sec
      [ 5] local 192.168.1.21 port 12345 connected with 192.168.1.22 port 60768
      [ 5] 0.0- 8.9 sec 1000 MBytes 938 Mbits/sec
      [ 4] local 192.168.1.21 port 12345 connected with 192.168.1.22 port 60770
      [ 4] 0.0-89.2 sec 9.77 GBytes 941 Mbits/sec
      [ 5] local 192.168.1.21 port 12345 connected with 192.168.1.22 port 60800
      [ 5] 0.0- 9.2 sec 1.00 GBytes 936 Mbits/sec
      [ 4] local 192.168.1.21 port 12345 connected with 192.168.1.22 port 60866
      [ 4] 0.0-912.5 sec 100 GBytes 941 Mbits/sec

      The post was edited 4 times, last by darkarn ().

    • Iperf results with Intel NIC:
      ------------------------------------------------------------
      Server listening on TCP port 12345
      TCP window size: 85.3 KByte (default)
      ------------------------------------------------------------
      [ 4] local 192.168.1.247 port 12345 connected with 192.168.1.22 port 58736
      [ ID] Interval Transfer Bandwidth
      [ 4] 0.0- 0.9 sec 100 MBytes 942 Mbits/sec
      [ 5] local 192.168.1.247 port 12345 connected with 192.168.1.22 port 58738
      [ 5] 0.0- 9.1 sec 1.00 GBytes 941 Mbits/sec
      [ 4] local 192.168.1.247 port 12345 connected with 192.168.1.22 port 58744
      [ 4] 0.0-91.2 sec 10.0 GBytes 941 Mbits/sec
      [ 5] local 192.168.1.247 port 12345 connected with 192.168.1.22 port 59038
      [ 5] 0.0-9123.7 sec 1000 GBytes 941 Mbits/sec

      File transfer from server: 75MB/s
      File transfer to server: 75MB/s

      Now onto real-world usage tests