Poor network performance with windows machines

Status
Not open for further replies.

Angate

Cadet
Joined
Apr 8, 2014
Messages
9
I have a freenas box setup that moves data very well (~85mbps) with linux clients, but crawls (~35mbps) with windows clients transferring files to or from it. It does however, perform very well with iperf from a Windows client. Below are my notes on my settings and hardware. I presume I can make some tweaks here to improve the CIFS performance?

ASRock c2550d4i ( Intel Avoton C2550 Quad-Core Processor)
2 x Intel® i210 NICs onboard
32GB Crucial SDRAM ECC
6 WD Red 3TB (Rade Z-2)
Netgear Prosafe switch

iperf (from Windows):
iperf_1.jpg



/usr/local/etc/smb4.conf
[global]
server max protocol = SMB2
interfaces = 127.0.0.1 192.168.1.2
bind interfaces only = yes
encrypt passwords = yes
dns proxy = no
strict locking = no
oplocks = yes
deadtime = 15
max log size = 51200
max open files = 942176
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
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 = NASTY
workgroup = WORKGROUP
security = user
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


[Backups]
path = /mnt/Tardis/Backups
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


[CompanyFiles]
path = /mnt/Tardis/CompanyFiles
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


[Dan]
path = /mnt/Tardis/Dan
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


[jails]
path = /mnt/Tardis/jails
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


Tuneables:

tuneables.jpg


Ideas?
 

MrToddsFriends

Documentation Browser
Joined
Jan 12, 2015
Messages
1,338
Are the tunables a result of activating autotune in the FreeNAS GUI or are they the result of some manual optimization experiments? How does the system perform without all those tunables?

How is the 35MByte/sec transfer speed with windows clients measured? Using a single large file or a bunch of randomly chosen small files?

As my FreeNAS box has some similarities with yours (Avoton, 32GB RAM) and because I got curious a I never benchmarked the transfer speed before I'm showing some numbers for comparison. The main pool in my FreeNAS system is a single mirror vdev, though.

Code:
D:\Temp>.\iperf-2.0.8-win\iperf -c 192.168.178.80 -i 1
------------------------------------------------------------
Client connecting to 192.168.178.80, TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[284] local 192.168.178.35 port 63036 connected with 192.168.178.80 port 5001
[ ID] Interval  Transfer  Bandwidth
[284]  0.0- 1.0 sec  107 MBytes  900 Mbits/sec
[284]  1.0- 2.0 sec  108 MBytes  908 Mbits/sec
[284]  2.0- 3.0 sec  109 MBytes  914 Mbits/sec
[284]  3.0- 4.0 sec  109 MBytes  916 Mbits/sec
[284]  4.0- 5.0 sec  109 MBytes  914 Mbits/sec
[284]  5.0- 6.0 sec  109 MBytes  914 Mbits/sec
[284]  6.0- 7.0 sec  110 MBytes  921 Mbits/sec
[284]  7.0- 8.0 sec  110 MBytes  923 Mbits/sec
[284]  8.0- 9.0 sec  110 MBytes  921 Mbits/sec
[284]  9.0-10.0 sec  109 MBytes  916 Mbits/sec
[284]  0.0-10.0 sec  1.06 GBytes  915 Mbits/sec


The Windows client is equipped with an Intel I210-T1 GbE NIC, connection via a Cisco SG110D-08 unmanaged switch.

Large file CIFS copy performance tested by copying the Windows 10 ISO back and forth using robocopy (sorry, output of German version).

Code:
D:\Temp>robocopy /S TestData\Out \\blunzn\cbackup\bench\TestData

-------------------------------------------------------------------------------
  ROBOCOPY  ::  Robustes Dateikopieren für Windows
-------------------------------------------------------------------------------

  Gestartet: Samstag, 30. Januar 2016 16:14:42
  Quelle : D:\Temp\TestData\Out\
  Ziel : \\blunzn\cbackup\bench\TestData\

  Dateien : *.*

  Optionen: *.* /S /DCOPY:DA /COPY:DAT /R:1000000 /W:30

------------------------------------------------------------------------------

  1  D:\Temp\TestData\Out\
100%  Neue Datei  3.0 g  Windows.iso

------------------------------------------------------------------------------

  Insgesamt  KopiertÜbersprungenKeine Übereinstimmung  FEHLER  Extras
Verzeich.:  1  0  1  0  0  0
  Dateien:  1  1  0  0  0  0
  Bytes:  3.051 g  3.051 g  0  0  0  0
  Zeiten:  0:00:31  0:00:31  0:00:00  0:00:00


Geschwindigkeit:  105019743 Bytes/Sek.
Geschwindigkeit:  6009.277 Megabytes/Min.
  Beendet: Samstag, 30. Januar 2016 16:15:13


D:\Temp>robocopy /S \\blunzn\cbackup\bench\TestData TestData\In

-------------------------------------------------------------------------------
  ROBOCOPY  ::  Robustes Dateikopieren für Windows
-------------------------------------------------------------------------------

  Gestartet: Samstag, 30. Januar 2016 16:15:13
  Quelle : \\blunzn\cbackup\bench\TestData\
  Ziel : D:\Temp\TestData\In\

  Dateien : *.*

  Optionen: *.* /S /DCOPY:DA /COPY:DAT /R:1000000 /W:30

------------------------------------------------------------------------------

  1  \\blunzn\cbackup\bench\TestData\
100%  Neue Datei  3.0 g  Windows.iso

------------------------------------------------------------------------------

  Insgesamt  KopiertÜbersprungenKeine Übereinstimmung  FEHLER  Extras
Verzeich.:  1  0  1  0  0  0
  Dateien:  1  1  0  0  0  0
  Bytes:  3.051 g  3.051 g  0  0  0  0
  Zeiten:  0:00:27  0:00:27  0:00:00  0:00:00


Geschwindigkeit:  117955835 Bytes/Sek.
Geschwindigkeit:  6749.487 Megabytes/Min.
  Beendet: Samstag, 30. Januar 2016 16:15:41


So roughly 100MiByte/sec copying to the NAS and 112MiByte/sec copying back to the Windows client. As far as I can tell I didn't do any performance tweaks on the FreeNAS box.
 

DrKK

FreeNAS Generalissimo
Joined
Oct 15, 2013
Messages
3,630
How are you doing the transfer? SFTP has been known to be extremely slow compared to expectations for some configurations.
 
Status
Not open for further replies.
Top