SLOW CIFS/SMB file transfer for authenticated users

0

How to configure CIFS that local and domain users have fast transfer speeds?

I do have massive performance issues using CIFS / SMB / Samba in combination with users. It's independent from Active Directory (AD) being enabled or disabled. Local as well as domain users transfer data really slow. There as guest user is fine.

However I'm not able to figure out that causes the bottleneck for authenticated users? And how to configure samba to avoid the problem?

CIFS / SMB Transfer Speeds

User ----------- write ------------ read
Root ---------- 21.3MB/s -------- 21.8MB/s
Domain -------- 19.7MB/s -------- 19.4MB/s
Guest----------105.1MB/s ------- 101.2MB/s
(Root via AFP  109.7MB/s ------- 108.9MB/s)

Tested with 1GB junks sequential reading and writing.

SMB4.conf

[global]

    server max protocol = SMB3_11
    encrypt passwords = yes
    dns proxy = no
    strict locking = no
    oplocks = yes
    deadtime = 1
    max log size = 51200
    max open files = 588197
    logging = file
    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 File Server
    ea support = yes
    store dos attributes = yes
    lm announce = yes
    acl allow execute always = true
    dos filemode = yes
    multicast dns register = yes
    domain logons = no
    idmap config *: backend = tdb
    idmap config *: range = 90000001-100000000
    server role = member server
    workgroup = MYDOMAIN
    realm = MYDOMAIN.LAN
    security = ADS
    client use spnego = yes
    cache directory = /var/tmp/.cache/.samba
    local master = no
    domain master = no
    preferred master = no
    ads dns update = yes
    winbind cache time = 7200
    winbind offline logon = yes
    winbind enum users = yes
    winbind enum groups = yes
    winbind nested groups = yes
    winbind use default domain = no
    winbind refresh tickets = yes
    idmap config MYDOMAIN: backend = rid
    idmap config MYDOMAIN: range = 20000-90000000
    allow trusted domains = no
    client ldap sasl wrapping = plain
    template shell = /bin/sh
    template homedir = /home/%D/%U
    netbios name = S-FREENAS
    pid directory = /var/run/samba
    create mask = 0666
    directory mask = 0777
    client ntlmv2 auth = yes
    dos charset = CP437
    unix charset = UTF-8
    log level = 1

[temp]

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

TOP while transfering as root:

last pid: 46255;  load averages:  0.81,  0.49,  0.39                                                     up 2+01:33:28  10:49:23

45 processes:  3 running, 42 sleeping
CPU: 11.7% user,  0.0% nice,  0.9% system,  0.0% interrupt, 87.4% idle
Mem: 273M Active, 3125M Inact, 15G Wired, 230M Cache, 734M Free
ARC: 14G Total, 985M MFU, 12G MRU, 290K Anon, 63M Header, 202M Other
Swap: 8192M Total, 148K Used, 8191M Free

  PID USERNAME    THR PRI NICE   SIZE    RES STATE   C   TIME    WCPU COMMAND

46144 root          1 102    0   337M 29744K CPU4    4   1:46 100.00% smbd
2443 root          1 -52   r0  6304K  2272K CPU1    1  13:39   0.10% watchdogd
11480 root         12  21    0   241M 20348K nanslp  1  18:20   0.00% collectd
4655 root          6  21    0   409M   183M select  7   7:11   0.00% python2.7
19466 root          1  52    0   237M 64044K select  7   2:46   0.00% python2.7
2779 root          1  20    0 36500K 18216K select  5   0:56   0.00% ntpd
1919 root          1  20    0 79388K  5024K kqread  3   0:16   0.00% syslog-ng

TOP while transfering as guest

last pid: 46439;  load averages:  0.91,  0.68,  0.49                                                     up 2+01:37:13  10:53:08
45 processes:  1 running, 44 sleeping
CPU:  0.8% user,  0.0% nice,  3.6% system,  1.9% interrupt, 93.7% idle
Mem: 273M Active, 3125M Inact, 15G Wired, 230M Cache, 734M Free
ARC: 14G Total, 1332M MFU, 13G MRU, 8994K Anon, 64M Header, 203M Other
Swap: 8192M Total, 148K Used, 8191M Free

PID USERNAME    THR PRI NICE   SIZE    RES STATE   C   TIME    WCPU COMMAND
46407 root          1  46    0   337M 29760K select  4   0:14  38.09% smbd
11480 root         12  21    0   241M 20380K nanslp  3  18:22   0.20% collectd
19466 root          1  52    0   237M 64044K select  6   2:46   0.20% python2.7
2443 root          1 -52   r0  6304K  2272K nanslp  2  13:40   0.10% watchdogd
4655 root          6  20    0   409M   183M select  6   7:15   0.00% python2.7
2779 root          1  20    0 36500K 18216K select  3   0:56   0.00% ntpd

Hardware

  • AsRock C2750D4I
  • Intel Octa Core Avoton C2750
  • 16GB DDR3 1600 ECC Ram 4
  • WD Red Pro 4TB (2 stripped mirrors)
  • 1GB/s Lan
  • FreeNAS OS 9.10.1
  • 32GB USB2.0 stick

Manuel

Posted 2016-08-31T09:34:41.963

Reputation: 101

Were you testing SMB1 (CIFS) or SMB3? The newer protocols can often reach much higher performance than the actual old CIFS. – user1686 – 2016-08-31T10:29:01.077

Allways same client. Should be SMB3 – Manuel – 2016-08-31T10:35:39.560

No answers