networking - SMB file transfer speeds too low over local LAN

06
2014-04
  • That Brazilian Guy

    I have built a file server for my home network. It has a 3TB Sata 3Gb/s HDD on a Dual Celeron Mini ITX mobo with 2GB DDR3 RAM. I have installed Ubuntu minimal runing off a flashdrive. I installed samba and configured it with webmin.

    I bought a D-Link DSL-2730R router, the specs says it is 10/100 and b/g. I connected the router to the server via ethernet, and configured samba via webmin.

    My laptop is in a room next to my router. When transfering files from/to my Ubuntu laptop, I get about 1,5MB/s on Nautilus. If I place my laptop in the same room, 30cm of the router, I get about 2,5MB/s.

    I used an android app to check for the wifi channel with less interference and set it to a channel with no other SSIDs on it, and I disabled WPA2PSK and left the wifi open (for a few minutes, just for testing). The speed increased to a peak of 2,8MB/s.

    If I disable wifi and connect via ethernet I get speeds aroun 6,6~7,9 MB/s. (All the teste were performed with the same file, a 300MB file).

    Then I tried an android app to test local wifi LAN transfer speed and it says my link speed is 54Mbps, signal is -59 dBm, download is 6967Kbit/s and upload is 3545Kbit/s.

    According to this answer the top theoretical speed on 802.11g is 6.7MB/s, but I'm getting less than 25% of it.

  • Answers
  • Rik

    Yes, theoretically the speed of 802.11g is 6.75MB/s. (54Mbps / 8 = 6.75MB/s)

    In the same answer it says the practical speed is 4MB/s (so now the 2.5MB/s is at 63% instead of 37%) (counting 6.75MB/s and 4MB/s against 2.5MB/s).

    A bit more down you'll see an answer stating a source which says maximum of 3,1MB/s. (so now your at 80%).

    Now calculate that the SMB-protocol is know for being very "chatty" you'll loose a lot there too because your client also has to upload/download chatter for the protocol, easily loosing much of the remaining 20%.


    But now look at it from another angle. Let's look at the cable speed. You said it was 6,6~7,9 MB/s on a cable (with 100Mbps). So you already loose almost half the speed using SMB via cable.

    Now take the WiFi. Even if your "link"-speed is 54Mbps, your actual speed will be more like 40Mbps. (40Mbps / 8 = 5MB/s) 40Mbps is 40% of the 100Mbps of the cable. So when we take 40% of the speed of the cable we get 6,6MB/s * 0.40 = 2,64MB/s. And this is in optimum circumstances. (If you take 4MB/s from the quoted answer you'll get 2,11MB/s.

    So it all fits ;)


    Now about the test with the app you did. You're getting 6967Kbit/s. This is Kbit/s. It's a lot less than you actually think. It's 6,8Mbps (while you should be getting 30-40Mbps or at leat 20Mbps like me). That's just 870KB/s = 0.85MB/s !!! So it's a wonder you're getting 2.0MB/s file-copies ;)
    Did you do the client-test or the "SMB-test" ?? (I did the "client-test".)

    (I only get 19520Kb/s download with the "client-test" to a pc 2 rooms over)


  • Related Question

    windows 7 - Ways to Transfer Large Files over Wifi Local Network Faster and Stable?
  • Jonathan

    I have problem with transfer a large number of file over Wifi in LAN, often one of the computer will loss the Wifi signal or disconnected, and reconnect back again real quick.

    and I also have problem with the speed, both run 54Mpbs Wireless card, and the max I can pull out between the two is about 950kb/s (I have a 54Mbps D-link router as well)

    Is there a way to boost up the speed and have steady connection ?

    Note:Both running Windows 7 RC


  • Related Answers
  • William Hilsum

    I would look in to using Robocopy (buiit in windows) and you can download a GUI here for it (There is a newer version, but I personally prefer this one)

    Robocopy is very smart and can overcome drops and even computer restarts.

    If you are constantly going to be sharing and syncronising two directories, you may want to take a look at alternative tools such as Microsoft Sync Power Toy, but I am not sure how that copes with restarts / drop outs, and if this is a one off, Robocopy is the tool for the job!