Very Slow Write Speeds but good read speeds

    • OMV 2.x
    • Very Slow Write Speeds but good read speeds

      Hi All,

      I have noticed since I have started to upload more files to my file server that the speeds for writing are very low.

      I have several SMB shares set-up and these seem to be very slow

      I have a 1g Network card and GB network Switch that shows I'm connected at 1GB. Though my speeds are as follows

      Wireless Write speed 4.7Mbps read speed 25Mbps
      Cables Write Speed 28Mbps and read speed is 359Mbps

      AS you can se the write speed is very low. I have following outputs

      root@snowdon:~# ethtool eth1
      Settings for eth1:
      Supported ports: [ TP MII ]
      Supported link modes: 10baseT/Half 10baseT/Full
      100baseT/Half 100baseT/Full
      1000baseT/Half 1000baseT/Full
      Supported pause frame use: No
      Supports auto-negotiation: Yes
      Advertised link modes: 10baseT/Half 10baseT/Full
      100baseT/Half 100baseT/Full
      1000baseT/Half 1000baseT/Full
      Advertised pause frame use: Symmetric Receive-only
      Advertised auto-negotiation: Yes
      Link partner advertised link modes: 10baseT/Half 10baseT/Full
      100baseT/Half 100baseT/Full
      1000baseT/Half 1000baseT/Full
      Link partner advertised pause frame use: Symmetric
      Link partner advertised auto-negotiation: Yes
      Speed: 1000Mb/s
      Duplex: Full
      Port: MII
      PHYAD: 0
      Transceiver: internal
      Auto-negotiation: on
      Supports Wake-on: pumbg
      Wake-on: g
      Current message level: 0x00000033 (51)
      drv probe ifdown ifup
      Link detected: yes
      root@snowdon:~#
    • ifconfig output
      root@snowdon:/# ifconfig
      eth1 Link encap:Ethernet HWaddr 14:cc:20:06:c7:8b
      inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
      RX packets:1600703 errors:0 dropped:1377 overruns:0 frame:0
      TX packets:1883157 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:350108308 (333.8 MiB) TX bytes:2366422026 (2.2 GiB)
      Interrupt:20 Base address:0x4c00

      lo Link encap:Local Loopback
      inet addr:127.0.0.1 Mask:255.0.0.0
      inet6 addr: ::1/128 Scope:Host
      UP LOOPBACK RUNNING MTU:16436 Metric:1
      RX packets:7040 errors:0 dropped:0 overruns:0 frame:0
      TX packets:7040 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:1576308 (1.5 MiB) TX bytes:1576308 (1.5 MiB)
    • Check the drive write speeds with dd and check the network speeds with iperf.
      omv 4.1.14 arrakis | 64 bit | 4.15 proxmox kernel | omvextrasorg 4.1.13
      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!
    • perf speeds
      -----------------------------------------------------------
      Client connecting to 192.168.0.4, TCP port 5001
      TCP window size: 23.5 KByte (default)
      ------------------------------------------------------------
      [ 3] local 192.168.0.2 port 44770 connected with 192.168.0.4 port 5001
      [ ID] Interval Transfer Bandwidth
      [ 3] 0.0-10.0 sec 96.5 MBytes 80.8 Mbits/sec
    • Your dd test needs work. You didn't write anything. You need to change directory to the data drive(s) in question.

      I wouldn't use wireless in an iperf test.
      omv 4.1.14 arrakis | 64 bit | 4.15 proxmox kernel | omvextrasorg 4.1.13
      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!
    • Obviously change long_uuid to the uuid of the data drive you want to test.

      dd if=/dev/zero of=/media/long_uuid/zero.dd bs=1M count=10000 conv=fdatasync
      This will write 10000 1MB blocks to /media/long_uuid and wait for each to finish writing before moving to the next. This takes the system/drive/etc cache out of the equation to show true drive speed.
      omv 4.1.14 arrakis | 64 bit | 4.15 proxmox kernel | omvextrasorg 4.1.13
      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!
    • While not super fast, your samba speeds should be faster. Try reading the two tuning threads

      Tunning Samba for more speed
      Tuning Samba for more speed 2
      omv 4.1.14 arrakis | 64 bit | 4.15 proxmox kernel | omvextrasorg 4.1.13
      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!
    • Thanks I changed the following
      Into the SAMBA extras Options

      socket options = TCP_NODELAY SO_RCVBUF=65536 SO_SNDBUF=65536
      read raw = yes
      write raw = yes
      max xmit = 65535
      dead time = 15
      getwd cache = yes
      min protocol = smb2

      Original DD
      root@snowdon:/# dd if=/dev/zero of=/media/9250a5d0-517e-409a-8afd-9071d590f6ec/zero.dd bs=1M count=10000 conv=fdatasync
      10000+0 records in
      10000+0 records out
      10485760000 bytes (10 GB) copied, 132.69 s, 79.0 MB/s

      After changes - AS you can see it
      root@snowdon:/# dd if=/dev/zero of=/media/9250a5d0-517e-409a-8afd-9071d590f6ec/zero.dd bs=1M count=10000 conv=fdatasync
      10000+0 records in
      10000+0 records out
      10485760000 bytes (10 GB) copied, 139.939 s, 74.9 MB/s
      root@snowdon:/#
    • Those changes won't change dd. They should change file transfer speeds over samba.
      omv 4.1.14 arrakis | 64 bit | 4.15 proxmox kernel | omvextrasorg 4.1.13
      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!
    • Are you using the backports kernel? There is a button to install it in omv-extras.
      omv 4.1.14 arrakis | 64 bit | 4.15 proxmox kernel | omvextrasorg 4.1.13
      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!