Slow transfer speeds via CIFS

Status
Not open for further replies.

Argentic

Dabbler
Joined
Nov 20, 2015
Messages
19
I tested (in a more primitive way) the network speed from my new NAS and it isn't like expected.

I copied a ~177MB File.

Win7-PC
Read from NAS: 21MB/s
Write to NAS: 62MB/s
Copy-Paste on NAS: 19MB/s

Win10-PC
Read from NAS: 11MB/s
Write to NAS: 11MB/s
Copy-Paste on NAS: 60MB/s to 150MB/s

Clearly with the Win10 there is an issue with the NIC, its driver or maybe even the cable, but I dont think the latter. Interesting is the copy-paste speed on the Win10. Does Win10 use a trick to copy it within the NAS without transferring it over the connection?

But the main part are the transfer speeds on the Win7 PC. Why are they so low?

NIC of the WIN7 PC: Intel Ethernet Connection I217-V (1 Gbps)
Switch: Longshine LCS-GS8124, Gigabit Switch 10/100/1000Mbit, 24-Port

NAS:
Build: FreeNAS-9.3-STABLE-201509022158
Mainboard: ASUS P9D-V
RAM: 2x8 ECC Kingston RAM 1333MHz
CPU: Intel Celeron G1840T @ 2.50GHz 1333MHz
HDD: normal HDDs (2x WD Red and 2x old Seagate) 2x2 Mirror
 

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
9,554
Try turning off A/V and security software on W7 computer. Windows 10 speed is indicative of 100 mbit/s link. Higher speeds on copy-paste is because of smb2 server-side-copy. Post a copy of /etc/local/smb4.conf.
 

Argentic

Dabbler
Joined
Nov 20, 2015
Messages
19
Turning off A/V and Firewall didn't improve the transfer speeds.

smb4.conf:
Code:
[global]
    server max protocol = SMB2
    encrypt passwords = yes
    dns proxy = no
    strict locking = no
    oplocks = yes
    deadtime = 15
    max log size = 51200
    max open files = 469991
    load printers = no
    printing = bsd
    printcap name = /dev/null
    disable spoolss = yes
    getwd cache = yes
    guest account = nobody
    map to guest = Bad User
    obey pam restrictions = yes
    directory name cache size = 0
    kernel change notify = no
    panic action = /usr/local/libexec/samba/samba-backtrace
    nsupdate command = /usr/local/bin/samba-nsupdate -g
    server string = FreeNAS Server
    ea support = yes
    store dos attributes = yes
    lm announce = yes
    hostname lookups = yes
    time server = yes
    acl allow execute always = true
    acl check permissions = true
    dos filemode = yes
    multicast dns register = yes
    domain logons = no
    local master = yes
    idmap config *: backend = tdb
    idmap config *: range = 90000001-100000000
    server role = standalone
    netbios name = NAS
    workgroup = WORKGROUP
    security = user
    pid directory = /var/run/samba
    smb passwd file = /var/etc/private/smbpasswd
    private dir = /var/etc/private
    create mask = 0666
    directory mask = 0777
    client ntlmv2 auth = yes
    dos charset = CP437
    unix charset = UTF-8
    log level = 1
  

[Backup]
    path = /mnt/Backup
    printable = no
    veto files = /.snapshot/.windows/.mac/.zfs/
    writeable = yes
    browseable = yes
    vfs objects = zfs_space zfsacl aio_pthread streams_xattr
    hide dot files = yes
    guest ok = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = true
    zfsacl:acesort = dontcare
  

[Daten]
    path = /mnt/Daten
    printable = no
    veto files = /.snapshot/.windows/.mac/.zfs/
    writeable = yes
    browseable = yes
    vfs objects = zfs_space zfsacl aio_pthread streams_xattr
    hide dot files = yes
    guest ok = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = true
    zfsacl:acesort = dontcare
  

[Medien_NAS]
    path = /mnt/Daten/Daten ALT - sortieren/Medien_NAS
    printable = no
    veto files = /.snapshot/.windows/.mac/.zfs/
    writeable = yes
    browseable = yes
    vfs objects = zfs_space zfsacl aio_pthread streams_xattr
    hide dot files = yes
    guest ok = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = true
    zfsacl:acesort = dontcare
  

[Repli-Test]
    path = /mnt/Repli-Test
    printable = no
    veto files = /.snapshot/.windows/.mac/.zfs/
    writeable = yes
    browseable = yes
    vfs objects = zfs_space zfsacl aio_pthread streams_xattr
    hide dot files = yes
    guest ok = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = true
    zfsacl:acesort = dontcare
 

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
9,554
Turning off A/V and Firewall didn't improve the transfer speeds.

smb4.conf:
Code:
[global]
    server max protocol = SMB2
    encrypt passwords = yes
    dns proxy = no
    strict locking = no
    oplocks = yes
    deadtime = 15
    max log size = 51200
    max open files = 469991
    load printers = no
    printing = bsd
    printcap name = /dev/null
    disable spoolss = yes
    getwd cache = yes
    guest account = nobody
    map to guest = Bad User
    obey pam restrictions = yes
    directory name cache size = 0
    kernel change notify = no
    panic action = /usr/local/libexec/samba/samba-backtrace
    nsupdate command = /usr/local/bin/samba-nsupdate -g
    server string = FreeNAS Server
    ea support = yes
    store dos attributes = yes
    lm announce = yes
    hostname lookups = yes
    time server = yes
    acl allow execute always = true
    acl check permissions = true
    dos filemode = yes
    multicast dns register = yes
    domain logons = no
    local master = yes
    idmap config *: backend = tdb
    idmap config *: range = 90000001-100000000
    server role = standalone
    netbios name = NAS
    workgroup = WORKGROUP
    security = user
    pid directory = /var/run/samba
    smb passwd file = /var/etc/private/smbpasswd
    private dir = /var/etc/private
    create mask = 0666
    directory mask = 0777
    client ntlmv2 auth = yes
    dos charset = CP437
    unix charset = UTF-8
    log level = 1
 

[Backup]
    path = /mnt/Backup
    printable = no
    veto files = /.snapshot/.windows/.mac/.zfs/
    writeable = yes
    browseable = yes
    vfs objects = zfs_space zfsacl aio_pthread streams_xattr
    hide dot files = yes
    guest ok = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = true
    zfsacl:acesort = dontcare
 

[Daten]
    path = /mnt/Daten
    printable = no
    veto files = /.snapshot/.windows/.mac/.zfs/
    writeable = yes
    browseable = yes
    vfs objects = zfs_space zfsacl aio_pthread streams_xattr
    hide dot files = yes
    guest ok = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = true
    zfsacl:acesort = dontcare
 

[Medien_NAS]
    path = /mnt/Daten/Daten ALT - sortieren/Medien_NAS
    printable = no
    veto files = /.snapshot/.windows/.mac/.zfs/
    writeable = yes
    browseable = yes
    vfs objects = zfs_space zfsacl aio_pthread streams_xattr
    hide dot files = yes
    guest ok = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = true
    zfsacl:acesort = dontcare
 

[Repli-Test]
    path = /mnt/Repli-Test
    printable = no
    veto files = /.snapshot/.windows/.mac/.zfs/
    writeable = yes
    browseable = yes
    vfs objects = zfs_space zfsacl aio_pthread streams_xattr
    hide dot files = yes
    guest ok = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = true
    zfsacl:acesort = dontcare
Try directly connecting client to server with known-good cat5e or higher cable. Post results as well as debug file 'system' - 'advanced' - 'save debug'
 

Argentic

Dabbler
Joined
Nov 20, 2015
Messages
19
Didn't worked out like wanted, thus the delay ...

Again over the network:
Read from NAS: 13MB/s
Write to NAS: 23MB/s

Directly connected:
Read from NAS: 50MB/s
Write to NAS: 68MB/s

debug.log --> see debug.txt (I hope it is the right one)

What are the maximum transfer speeds you can expect in a GBit-Network? 125MB/s is the theoretical speed, but practical?
What would be the transfer speed for writing to an eSATA-Drive directly attached on the NAS?
 

Attachments

  • debug.txt
    965.8 KB · Views: 320

zoomzoom

Guru
Joined
Sep 6, 2015
Messages
677
What are the maximum transfer speeds you can expect in a GBit-Network? 125MB/s is the theoretical speed, but practical?
I frequently see speeds in the 160MB/s, although I've been wondering why since 125MB/s should be the maximum transfer speed. Transferring large WIMs, such as the transfer of a 320GB WIM the other day, transferred at a steady 160MB/s, with occasional dips to 145 - 150MB/s. 160MB/s is 1.28Gb/s... is it simply Windows calculating the speed wrong?

What would be the transfer speed for writing to an eSATA-Drive directly attached on the NAS?
It depends on the SATA version of the eSATA enclosure. Many are only SATA II, which would max out at ~180MB/s, which may or may not be the maximum speed of the HDD's you have installed (some HDDs r/w at 160MB/s, whereas others go up to 220MB/s, enterprise class drives are usually 200MB/s+, and much higher in higher RPM enterprise drives).
 
Last edited:

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
9,554
I frequently see speeds in the 160MB/s, although I've been wondering why since 125MB/s should be the maximum transfer speed. Transferring large WIMs, such as the transfer of a 320GB WIM the other day, transferred at a steady 160MB/s, with occasional dips to 145 - 150MB/s. 160MB/s is 1.28Gb/s... is it simply Windows calculating the speed wrong?
If it's from one location in a share to another, then you might be seeing server-side-copy.
 

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
9,554
Didn't worked out like wanted, thus the delay ...

Again over the network:
Read from NAS: 13MB/s
Write to NAS: 23MB/s

Directly connected:
Read from NAS: 50MB/s
Write to NAS: 68MB/s

debug.log --> see debug.txt (I hope it is the right one)

What are the maximum transfer speeds you can expect in a GBit-Network? 125MB/s is the theoretical speed, but practical?
What would be the transfer speed for writing to an eSATA-Drive directly attached on the NAS?
I was referring to the webgui tool to generate a debug tarball (contains lots of files with diagnostic info).
 

zoomzoom

Guru
Joined
Sep 6, 2015
Messages
677
If it's from one location in a share to another, then you might be seeing server-side-copy.
I thought that could have been it, but I'm almost positive the last WIM I transferred was from an SSD on my laptop. It's not something I've given a lot of thought to, and had completely forgotten the anomaly until I read the last post from Argentic
 

Argentic

Dabbler
Joined
Nov 20, 2015
Messages
19
@Argentic, what is your Windows 7 PC? It could be your limiting factor if it has SATA II and older hard drives.
I don't think so, I recently tested the speed of my drive:
Seagate Barracuda ST2000DM001-1CH164.jpg

Also, copying it from the HDD to the SSD: 105MB/s and from the SSD to HDD: 106MB/s
(Well, reading from the HDD could (should?) be faster, since it is a mirrored, even if it is just via Windows)

I was referring to the webgui tool to generate a debug tarball (contains lots of files with diagnostic info).
Yes, I got it from there. debug-NAS-[datetime]\ixdiagnose\log\debug.log
Or do you want the whole tgz? (But I don't know how much of information is in it, so posting it publicly ...)

I will say that the majority of network issues I see are cable-related. (Improper termination, out-of-spec cable, kinked cable, etc).
Hm ... How can I check this?
A (naive) question about stuff like improper termination, kinked cables: The signals are digital - so shouldn't it be it works or it doesn't? Or do the devices detect the worse hardware and adapt its speed and error correction like done with wireless signals? (Or just need to resend a ton of stuff)
Out-of-spec cables shouldn't be the issue, what I've seen so far they are Cat5e and I get speeds above 100Mbit/s.
 

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
9,554
I don't think so, I recently tested the speed of my drive:
Yes, I got it from there. debug-NAS-[datetime]\ixdiagnose\log\debug.log
Or do you want the whole tgz? (But I don't know how much of information is in it, so posting it publicly ...)
It has a lot of info in it. You can PM it to me.
 

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
9,554
Okay. Started looking over a few things in the debug. Here are some items that stand out:
  1. You need to update your version of FreeNAS to latest stable
  2. /var/log/messages shows that the interface "igb0" is going up and down randomly and fairly frequently. Perhaps switch NICs to igb1 and see if throughput increases.
  3. Your debug indicates a large amount of out-of-order packets being received on the freenas server. Were you experimenting with different link aggregation methods? These can tank network performance.
  4. You have separate samba shares for "/mnt/Daten" and "/mnt/Daten/Daten ALT - sortieren/Medien_NAS". This will potentially cause the samba module handling zfs acls to throw fits (your logs show lots of access denied errors), which will negatively affect your throughput. Remove the share "/mnt/Daten/Daten ALT - sortieren/Medien_NAS" then reset permissions on "/mnt/Daten"
  5. It appears that "get_ea_dos_attribute" is failing periodically. This may be related to the above problems, but you may be able to increase speed and eliminate these errors by disabling DOS attributes by adding the below auxiliary parameters to your CIFS config.
  6. It looks like samba is having a hard time looking up SIDs. These errors might be related to (4). Update and then keep an eye on /var/log/samba4/log.wb-NAS
Code:
store dos attributes = no
ea support = no
map archive = no
map hidden = no
map system = no
map readonly = no
 
Last edited:

Argentic

Dabbler
Joined
Nov 20, 2015
Messages
19
2. (and 3.) was probably related to the old switch, which is now replaced. Even home PCs had short interruptions, which should be now gone (it seems so).
4. I deleted this share (wasn't necessary anymore), but didn't reset the permissions yet.
1. and 5. done.

Now I get speeds around 110-115MB/s. :)
But with another PC it is around 75MB/s writing to NAS and 95MB/s reading from NAS.

Clearly an improvement, thanks!
I will test the speed of all PCs. Is there a software to do this? Instead of using the Windows estimate or TeraCopy.
 
Status
Not open for further replies.
Top