Midwan
Dabbler
- Joined
- Dec 16, 2013
- Messages
- 15
Hi all,
I realize this must be a rather common topic, considering how many similar issues I've seen in the past.
However, I haven't managed to fix it yet, nor discover what causes it. The other threads I've read through didn't help in identifying the issue in my case.
If I am mistaken and this has been answered somewhere already, I humbly apologize and would be grateful if you could just give me the relevant link.
I have a home-built NAS running FreeNAS 9.10 stable (201606270534). The hardware it's running on is as follows:
MB: ASUS E45M1-I Deluxe
CPU: AMD E-450 (onboard)
NET: 1000MBit
RAM: 8GB DDR3
ZFS: 5 2TB disks on a RAIDZ1 configuration. No encryption, LZ4 compression enabled.
The installation has just a few services enabled:
- CIFS
- SSH
And a few plugins:
- Transmission
- CouchPotato
The NAS connects to a TP-Link 10/100/1000 switch, to which the other machines in the LAN connect to also. The tests I've made were also done on my ASUS RT-N66U ports (also 1000Mbit) just to make sure. The results were identical.
The problem: Although CIFS read speeds are satisfactory considering the relatively low-powered hardware (I get around 80MB/sec read speed over the network to another Win10 machine), CIFS write speed is horribly slow - only around 4-5MB/sec. CPU usage during writing is no more than 9%.
I tested the pool write speed locally on the NAS itself:
dd if=/dev/zero of=testfile bs=1048576
32731+0 records in
32731+0 records out
34320941056 bytes transferred in 63.073537 secs (544141690 bytes/sec)
CPU usage during the test was at 100%.
I tried writing over SSH, from the same Win10 computer to the NAS, the speed was around 12MB/sec.
Since it doesn't seem to be limited to hardware, so I'm assuming it's related to the protocol/configuration. However, after trying several combinations and seeing no difference, I cannot understand what exactly could cause such a big difference in read/write speeds.
Here's the SMB4.conf:
cat /usr/local/etc/smb4.conf
[global]
username map = /usr/local/etc/smbusers
server max protocol = SMB3
encrypt passwords = yes
dns proxy = no
strict locking = no
oplocks = yes
deadtime = 15
max log size = 51200
max open files = 233543
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 = no
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
unix extensions = no
acl allow execute always = false
dos filemode = yes
multicast dns register = yes
domain logons = no
local master = no
idmap config *: backend = tdb
idmap config *: range = 90000001-100000000
server role = standalone
netbios name = KOULA
workgroup = MIDLAIR
security = user
pid directory = /var/run/samba
create mask = 0777
directory mask = 0777
client ntlmv2 auth = yes
dos charset = CP437
unix charset = UTF-8
log level = 0
[Backups]
path = /mnt/KoulaOne/Backups
printable = no
veto files = /.snapshot/.windows/.mac/.zfs/
writeable = yes
browseable = yes
shadow:snapdir = .zfs/snapshot
shadow:sort = desc
shadow:localtime = yes
shadow:format = auto-%Y%m%d.%H%M-2w
shadow:snapdirseverywhere = yes
vfs objects = shadow_copy2 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
[Movies]
path = /mnt/KoulaOne/Movies
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
[Projects]
path = /mnt/KoulaOne/projects
comment = Amiga Lightwave Projects
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
[TVShows]
path = /mnt/KoulaOne/TVShows
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
[incoming]
path = /mnt/KoulaOne/incoming
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
I'd be happy to provide any more info if you'd like.
I realize this must be a rather common topic, considering how many similar issues I've seen in the past.
However, I haven't managed to fix it yet, nor discover what causes it. The other threads I've read through didn't help in identifying the issue in my case.
If I am mistaken and this has been answered somewhere already, I humbly apologize and would be grateful if you could just give me the relevant link.
I have a home-built NAS running FreeNAS 9.10 stable (201606270534). The hardware it's running on is as follows:
MB: ASUS E45M1-I Deluxe
CPU: AMD E-450 (onboard)
NET: 1000MBit
RAM: 8GB DDR3
ZFS: 5 2TB disks on a RAIDZ1 configuration. No encryption, LZ4 compression enabled.
The installation has just a few services enabled:
- CIFS
- SSH
And a few plugins:
- Transmission
- CouchPotato
The NAS connects to a TP-Link 10/100/1000 switch, to which the other machines in the LAN connect to also. The tests I've made were also done on my ASUS RT-N66U ports (also 1000Mbit) just to make sure. The results were identical.
The problem: Although CIFS read speeds are satisfactory considering the relatively low-powered hardware (I get around 80MB/sec read speed over the network to another Win10 machine), CIFS write speed is horribly slow - only around 4-5MB/sec. CPU usage during writing is no more than 9%.
I tested the pool write speed locally on the NAS itself:
dd if=/dev/zero of=testfile bs=1048576
32731+0 records in
32731+0 records out
34320941056 bytes transferred in 63.073537 secs (544141690 bytes/sec)
CPU usage during the test was at 100%.
I tried writing over SSH, from the same Win10 computer to the NAS, the speed was around 12MB/sec.
Since it doesn't seem to be limited to hardware, so I'm assuming it's related to the protocol/configuration. However, after trying several combinations and seeing no difference, I cannot understand what exactly could cause such a big difference in read/write speeds.
Here's the SMB4.conf:
cat /usr/local/etc/smb4.conf
[global]
username map = /usr/local/etc/smbusers
server max protocol = SMB3
encrypt passwords = yes
dns proxy = no
strict locking = no
oplocks = yes
deadtime = 15
max log size = 51200
max open files = 233543
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 = no
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
unix extensions = no
acl allow execute always = false
dos filemode = yes
multicast dns register = yes
domain logons = no
local master = no
idmap config *: backend = tdb
idmap config *: range = 90000001-100000000
server role = standalone
netbios name = KOULA
workgroup = MIDLAIR
security = user
pid directory = /var/run/samba
create mask = 0777
directory mask = 0777
client ntlmv2 auth = yes
dos charset = CP437
unix charset = UTF-8
log level = 0
[Backups]
path = /mnt/KoulaOne/Backups
printable = no
veto files = /.snapshot/.windows/.mac/.zfs/
writeable = yes
browseable = yes
shadow:snapdir = .zfs/snapshot
shadow:sort = desc
shadow:localtime = yes
shadow:format = auto-%Y%m%d.%H%M-2w
shadow:snapdirseverywhere = yes
vfs objects = shadow_copy2 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
[Movies]
path = /mnt/KoulaOne/Movies
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
[Projects]
path = /mnt/KoulaOne/projects
comment = Amiga Lightwave Projects
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
[TVShows]
path = /mnt/KoulaOne/TVShows
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
[incoming]
path = /mnt/KoulaOne/incoming
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
I'd be happy to provide any more info if you'd like.