Find the answer to your Linux question:
Results 1 to 5 of 5
Hello, I have a Windows 7-64 NAS that stores many different media files (video). When I attempt to copy a folder from my NAS containing 11.4GB to my SLES 11 ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Jul 2013
    Posts
    2

    Slow gigabit speeds from Windows NAS to Linux client


    Hello,

    I have a Windows 7-64 NAS that stores many different media files (video). When I attempt to copy a folder from my NAS containing 11.4GB to my SLES 11 SP2 64-bit system over a gigabit network I am only seeing speeds of approximately 30 MB/s.

    When I copy the same folder from my NAS to a 7-64 workstation I get almost 100 MB/s.

    All three systems are in same network environment - all three have gigabit ports.

    Linux system specs:
    -SMicro X10SL7-F
    -E3-1240 V3
    -running SLES 11 SP2 64-bit, freshly installed
    -latest i210-TI NIC driver installed, downloaded straight from Intel's website.
    -there are two storage volumes on this linux system:
    2x 480GB SSD in RAID0
    3x 1TB 2.5" HDD 7200RPM in RAID0

    I ran "dd" write speed tests on both volumes and am getting 989 MB/s on SSD array and 350 MB/s on HDD array. That is, my volumes can certainly be written to faster than 30 MB/s!

    As an additional sanity check I copied the same 11.4GB folder from my SSD array to my HDD array and timed how long this took. When I divided the size of the folder by how long it took to copy I came up with 278 MB/s.

    Yet when I copy from my NAS to the HDD array I can't get more than 30 MB/s. At this point I assume the problem lies with Networking - not with my storage. I hope you all agree.

    Here's how I'm copying from NAS to my HDD array:
    First I mount my NAS on my Linux system.
    Code:
    mount -t cifs //<ip address of NAS/sharename> /mnt/nasShare
    Then I run a simple copy command from my Linux system, "pulling" the data over
    Code:
    cp -f -r /mnt/nasShare/mediaFolderThatContains11GB /mnt/hddRAID0
    Is it slow because I'm using CIFS? Can anyone think of what may be going on here? Any information would be appreciated as I'm quite new to Linux.

  2. #2
    Just Joined!
    Join Date
    Sep 2007
    Location
    Silver Spring, MD
    Posts
    95

    Sanity Check

    I think the first thing that should be done would be to check the hardware.

    1st Verify or change the network cables, make sure they are plugged in properly to the server and the switch. There may be a problem with the cables and pin connections, you could be using a bad cable, think about replacing them (Cat6).

    2nd Go to the switch and make sure if you don't see frame/speed errors, verify the speed of the switch, is it set to auto-sense.

    3rd Ensure the speeds set on the server are set to auto-sensing as well or verify the settings on the linux machine:

    Code:
    ethtool -a eth0 #Determine if autonegotiation is on
    ethtool -S eth0 #Show statistics
    If you see a large number of errors, then you need to check the speed/duplex and cable settings to ensure you don't receive any more errors.

    If that turns out to be ok, then come back to the site and we will work towards identifying the other problem.

    Post your results if possible.

    T

  3. #3
    Linux User jkwilborn's Avatar
    Join Date
    Nov 2012
    Posts
    255
    Just a couple things that might be a 'to look at' just in case it's questionable... Does your switch or router that you use have indications for full or half duplex? Sometimes things actually run faster in half duplex than full, so you might check out being able to switch it back and forth and check the speeds.

    How are you checking the speed? Are you using the 'time' in your command line? This will give you real and actual times for a process to compete. Check with 'man time' and see what you see...

    Jack

  4. #4
    Just Joined!
    Join Date
    Jul 2013
    Posts
    2
    Quote Originally Posted by jkwilborn View Post
    Just a couple things that might be a 'to look at' just in case it's questionable... Does your switch or router that you use have indications for full or half duplex? Sometimes things actually run faster in half duplex than full, so you might check out being able to switch it back and forth and check the speeds.

    How are you checking the speed? Are you using the 'time' in your command line? This will give you real and actual times for a process to compete. Check with 'man time' and see what you see...

    Jack
    I am measuring the speed by timing (with stopwatch) how long it takes to copy. I then divide the size of the folder I copy (in MB) by the number of seconds it took for the copy to complete, giving me MB/s.


    I wanted to post one more observation I made, which may answer some questions about half/full duplex, etc. Then again, maybe not.

    I attemped to mount my Windows NAS on my Linux system differently and saw better copy performance. This time, instead of using the mount -t cifs ..etc command, I simply used Nautilus file browse to access my NAS. I then proceeded to drag-and-drop the 11.4 GB folder from the NAS onto my SSD array. This resulted in a 60 MB/s copy.

    Lastly, I created a samba share out of my Linux system's SSD array and accessed it from my Windows NAS. I then "pushed" that same 11.4 GB folder out, onto the samba share. This resulted in a 100 MB/s copy.

    It appears to me as though I do not have a hardware issue. The only thing I can imagine is that mounting the NAS using the code below requires some additional advanced switches, or something.

    Code:
    mount -t cifs //<ip address of NAS/sharename> /mnt/nasShare
    Very strange..

  5. #5
    Linux User jkwilborn's Avatar
    Join Date
    Nov 2012
    Posts
    255
    I still think you should look at the 'time' command to run your programs under. You will get more information and much more accurate than a stop watch and the watch doesn't tell you how much time it takes or how much time you computer used, it may be sitting there waiting for something. Don't write hardware off so quickly, as many of these turn out to be real problems with hardware and not all diagnostics will show them up.

    If you do something like "time this -option whatever" it shows you how much processor time and how much real time. It would give you better consistency in your numbers.

    Jack

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •