8.0.3 RELEASE coming soon

Status
Not open for further replies.
G

gcooper

Guest
Sorry, Garrett. I never install a pre-release on my NAS as I keep pretty important development files in there...

I didn't expect people to convert over their production systems.. but running VMs on pre-release software would have helped potentially to root out integration issues... I guess my expectations were a bit higher than what was received to be honest and it goes to prove that internal automated testing is what really needs to be implemented at iX. That I can't opensource for various reasons.

Are you using Samba 3.6.1 or 3.6.0? There were many bug fixes in 3.6.1 and I really like the security improvements in 3.6 branch.

Other output into current log:
Code:
Jan  5 17:02:24 pluto root: /etc/rc: WARNING: /etc/exports is not readable.
Jan  5 17:02:24 pluto root: /etc/rc: WARNING: failed precmd routine for mountd
Jan  5 17:02:24 pluto root: /etc/rc: WARNING: failed precmd routine for vmware_guestd

ataidle: the device does not support advanced power management

I presume the ataidle message is just noise, as it always showed for me. However, I noticed a new failed routine: vmware_guestd.

1. The ataidle stuff is just noise (assuming that the script isn't trying to run against SCSI devices.. but still.. it's noise).
2. vmware_guestd has always been there :).
 
G

gcooper

Guest
Funny thing. Performance was not any different for me when I downgraded my home machine from samba36 to samba35. So.. before I start down the slippery slope of "this stuff is slower than the old stuff", please keep some things in mind:

1. AIO wasn't turned on in previous releases. Seriously. This was a build bug that I fixed in -BETA2. Please try turning it off and let me know whether or not things work.
2. I need hardware stats before I can make a legitimate call as to whether or not the issue is with your config or the software.

Here's some of my info, just as a reference:

Code:
$ uname -a
FreeBSD bayonetta.local 9.0-STABLE FreeBSD 9.0-STABLE #1 r229323M: Mon Jan  2 14:32:54 PST 2012     gcooper@bayonetta.local:/usr/obj/store/freebsd/stable/9/sys/BAYONETTA  amd64
$ cat /usr/local/etc/smb.conf
[global]
        read raw = yes
        write raw = yes
        workgroup = WORKGROUP
        server string = BAYONETTA
        security = user
        load printers = no
        max log size = 50
        preferred master = yes
        local master = yes
        socket options = SO_RCVBUF=65536 SO_SNDBUF=65536 TCP_NODELAY
        nt acl support = yes
        inherit acls = yes
        map acl inherit = yes
        aio read size = 16384
        aio write size = 16384
        oplocks = yes

[scratch]
        path = /scratch
        writeable = yes

[store]
        path = /store
        writeable = yes
$ sysctl hw.model hw.physmem
hw.model: Intel(R) Xeon(R) CPU           W3520  @ 2.67GHz
hw.physmem: 12863700992
$
 
G

gcooper

Guest
Funny thing. Performance was not any different for me when I downgraded my home machine from samba36 to samba35. So.. before I start down the slippery slope of "this stuff is slower than the old stuff", please keep some things in mind:

1. AIO wasn't turned on in previous releases. Seriously. This was a build bug that I fixed in -BETA2. Please try turning it off and let me know whether or not things work.
2. I need hardware stats before I can make a legitimate call as to whether or not the issue is with your config or the software.

...

And I really need your client OS. FWIW, I've been testing dumb, sync writes with a 10GB randomly generated file for the past half hour from my FreeBSD box with samba35 and samba36 to my Windows 7 Home Premium client, and I consistently get on average 85MBps with my setup (no L2ARC, no ZIL, v28, 9.0-STABLE). It sometimes bursts up to 105MBps (but that's extremely rare), and the results are consistent and within noise margins (<5%). So, again.. I really need to know if this is a _real_ issue, or a _perceived_ issue.
 

descipar

Cadet
Joined
Jan 5, 2012
Messages
2
descipar: I use Time Machine pretty extensively with my FreeNAS box over here since that's pretty much all I have it doing. (I have 4 Macs on our LAN at home and they're all configured to back up all of their contents to FreeNAS via Time Machine.) I upgraded from 8.02 to the 8.03RC3 release a couple days ago and my machines seem to still be running their Time Machine backup sessions without any issues.

(Actually, I was anxious to upgrade from 8.02 because I ran into problems where after a week or so, the FreeNAS box would crash, apparently due to bugs in netatalk under heavy load/usage. Since 8.03 updated netatalk, I was hoping that would be all I needed to end that issue.)

Thats strange. I tried a few more things like setting it up brand new, differents user right and options and i can`t get it working again. It was working stable since 8.0.1 for me. Gues I will need to have a closer look at some log files maybe. Although the volume is showing up just fine in TimeMachine only TM can`t mount it...
The Freenas-Server even recognizes the login but then just stops communicating with TM...

gcooper said:
Funny thing. Performance was not any different for me when I downgraded my home machine from samba36 to samba35. So.. before I start down the slippery slope of "this stuff is slower than the old stuff", please keep some things in mind:

1. AIO wasn't turned on in previous releases. Seriously. This was a build bug that I fixed in -BETA2. Please try turning it off and let me know whether or not things work.
2. I need hardware stats before I can make a legitimate call as to whether or not the issue is with your config or the software.

I`ll post my specs here in the evening whenI`m back from work.
 

b1ghen

Contributor
Joined
Oct 19, 2011
Messages
113
TECK, sorry this does not work. I tried it on 2 systems, also with Jumbo Frames but I get 20-30MB over CIFS and >100MB with NFS. I have only moved the FreeNAS server from 8.0.2 to 8.0.3 and had much better performance with 8.0.2. So I think it's no problem with the intel nic drivers. So what else could it be except of samba 3.6.1?

I upgraded one of our servers to 8.0.3 RELEASE yesterday, I saw no performance degradation over CIFS, if anything a slight improvement. I have never had my NIC peak at 1.0 Gbit/s before, just peaked at 980 Mbit/s before. And as you can see I transfer over 1.1TB daily to this machine (mostly 5-80GB VHD files)

if-em0-1d.png
 

mattymuc

Dabbler
Joined
Sep 21, 2011
Messages
16
Funny thing. Performance was not any different for me when I downgraded my home machine from samba36 to samba35. So.. before I start down the slippery slope of "this stuff is slower than the old stuff", please keep some things in mind:

1. AIO wasn't turned on in previous releases. Seriously. This was a build bug that I fixed in -BETA2. Please try turning it off and let me know whether or not things work.

Thanks, this worked for me. I turned AIO off and now I'm back to 80-100MB/s with my Win7 Clients.

So this was the magic switch/change I was looking for. If this works for the others I think we can stay at samba 3.6.1?

Freenas:
hw.model: Intel(R) Xeon(R) CPU E31260L @ 2.40GHz
hw.physmem: 17155436544
 

joeschmuck

Old Man
Moderator
Joined
May 28, 2011
Messages
10,994
Results testing two flavors of Samba

Tested with AIO on and off, with large and small files. Results as indicated by Windows 7.

8.0.3-Release (samba 3.6) | Samba 3.5 (r9432)
AIO=On
SM Files (1MB to 7MB)
Read = 74MB/s | 70MB/s
Write = 70MB/s | 50MB/s

Large Files (4GB or larger)
Read = 60MB/s | 90MB/s
Write = 80MB/s | 67MB/s

AIO = Off
SM Files (1MB to 7MB)
Read = 70MB/s | 58MB/s
Write = 60MB/s | 44MB/s

Large Files (4GB or larger)
Read = 70MB/s | 88MB/s
Write = 82MB/s | 65MB/s

These values are not peak but closer to average.

If there is any specific testing you would like, please post it.

Code:
[Mark@freenas] /# uname -a
FreeBSD freenas.local 8.2-RELEASE-p5 FreeBSD 8.2-RELEASE-p5 #0: Sat Dec 31 18:14:51 EST 2011     Mark@FreeNAS-Dev.freenas:/usr/local/freenas/trunk/obj.amd64/usr/local/freenas/trunk/FreeBSD/src/sys/FREENAS.amd64  amd64
[Mark@freenas] /# cat /usr/local/etc/smb.conf
[global]
    encrypt passwords = yes
    dns proxy = no
    strict locking = no
    read raw = yes
    write raw = yes
    oplocks = yes
    max xmit = 65535
    deadtime = 15
    display charset = LOCALE
    max log size = 10
    syslog only = yes
    syslog = yes
    load printers = no
    printing = bsd
    printcap name = /dev/null
    disable spoolss = yes
    smb passwd file = /var/etc/private/smbpasswd
    private dir = /var/etc/private
    getwd cache = yes
    guest account = nobody
    map to guest = Bad Password
    guest ok = yes
    netbios name = freenas
    workgroup = WORKGROUP
    server string = FreeNAS Server
    use sendfile = yes
    ea support = yes
    store dos attributes = yes
    local master = yes
    time server = yes
    security = user
    create mask = 0666
    create mask = 0666
    directory mask = 0777
    client ntlmv2 auth = yes
    dos charset = CP437
    unix charset = UTF-8
    log level = 1


[Farm]
    path = /mnt/farm
    printable = no
    veto files = /.snap/.windows/
    comment = Entire NAS
    writeable = yes
    browseable = yes
    inherit owner = no
    inherit permissions = no
    vfs objects = zfsacl
    guest account = www
    guest ok = yes
    inherit acls = Yes
    map archive = No
    map readonly = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = yes


[Movies]
    path = /mnt/farm/movies
    printable = no
    veto files = /.snap/.windows/
    comment = Movies
    writeable = yes
    browseable = yes
    inherit owner = no
    inherit permissions = no
    vfs objects = zfsacl
    guest account = www
    guest ok = yes
    inherit acls = Yes
    map archive = No
    map readonly = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = yes


[Madyson]
    path = /mnt/farm/Madyson
    printable = no
    veto files = /.snap/.windows/
    comment = Mady's Data
    writeable = yes
    browseable = yes
    inherit owner = no
    inherit permissions = no
    vfs objects = zfsacl
    guest account = www
    guest ok = yes
    inherit acls = Yes
    map archive = No
    map readonly = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = yes


[Rebecca]
    path = /mnt/farm/Rebecca
    printable = no
    veto files = /.snap/.windows/
    comment = Becky's Data
    writeable = yes
    browseable = yes
    inherit owner = no
    inherit permissions = no
    vfs objects = zfsacl
    guest account = www
    guest ok = yes
    inherit acls = Yes
    map archive = No
    map readonly = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = yes


[Backups]
    path = /mnt/farm/backups
    printable = no
    veto files = /.snap/.windows/
    comment = Acronis Backup Files
    writeable = yes
    browseable = yes
    inherit owner = no
    inherit permissions = no
    vfs objects = zfsacl
    guest account = www
    guest ok = yes
    inherit acls = Yes
    map archive = No
    map readonly = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = yes


[FTP]
    path = /mnt/farm/ftp
    printable = no
    veto files = /.snap/.windows/
    comment = Shared FTP
    writeable = yes
    browseable = yes
    inherit owner = no
    inherit permissions = no
    vfs objects = zfsacl
    guest account = www
    guest ok = yes
    inherit acls = Yes
    map archive = No
    map readonly = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = yes


[Photos]
    path = /mnt/farm/photos
    printable = no
    veto files = /.snap/.windows/
    comment = Family Photos
    writeable = yes
    browseable = yes
    inherit owner = no
    inherit permissions = no
    vfs objects = zfsacl
    guest account = www
    guest ok = yes
    inherit acls = Yes
    map archive = No
    map readonly = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = yes


[Music]
    path = /mnt/farm/music
    printable = no
    veto files = /.snap/.windows/
    comment = Music
    writeable = yes
    browseable = yes
    inherit owner = no
    inherit permissions = no
    vfs objects = zfsacl
    guest account = www
    guest ok = yes
    inherit acls = Yes
    map archive = No
    map readonly = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = yes


[Mark@freenas] /# sysctl hw.model hw.physmem
hw.model: Intel(R) Core(TM)2 Duo CPU     E8500  @ 3.16GHz
hw.physmem: 8574136320
 

joeschmuck

Old Man
Moderator
Joined
May 28, 2011
Messages
10,994
DYNDNS (inadyn) fails to start in 8.0.3 (r9432) build. Worked in earlier versions. I'm rolling back to the 8.0.3-Multimedia (r9401) for now as it works very well for me.

I'll try another build attempt but test in my VM next time.
 
G

gcooper

Guest
DYNDNS (inadyn) fails to start in 8.0.3 (r9432) build. Worked in earlier versions. I'm rolling back to the 8.0.3-Multimedia (r9401) for now as it works very well for me.

I'll try another build attempt but test in my VM next time.

Ugh. I'll have to look at this transient build issue later.
 
G

gcooper

Guest
Thanks, this worked for me. I turned AIO off and now I'm back to 80-100MB/s with my Win7 Clients.

So this was the magic switch/change I was looking for. If this works for the others I think we can stay at samba 3.6.1?

Freenas:
hw.model: Intel(R) Xeon(R) CPU E31260L @ 2.40GHz
hw.physmem: 17155436544

Maybe.. maybe not. Depends on the hardware and system tuning. I'm planning on turning AIO off by default because of the masses that are running FreeNAS on smaller iron. I don't know why your case was so slow though TBH -- what disks do you have in your chassis?
 
G

gcooper

Guest
Tested with AIO on and off, with large and small files. Results as indicated by Windows 7.

8.0.3-Release (samba 3.6) | Samba 3.5 (r9432)
AIO=On
SM Files (1MB to 7MB)
Read = 74MB/s | 70MB/s
Write = 70MB/s | 50MB/s

Large Files (4GB or larger)
Read = 60MB/s | 90MB/s
Write = 80MB/s | 67MB/s

AIO = Off
SM Files (1MB to 7MB)
Read = 70MB/s | 58MB/s
Write = 60MB/s | 44MB/s

Large Files (4GB or larger)
Read = 70MB/s | 88MB/s
Write = 82MB/s | 65MB/s

These values are not peak but closer to average.

If there is any specific testing you would like, please post it.

Code:
[Mark@freenas] /# uname -a
FreeBSD freenas.local 8.2-RELEASE-p5 FreeBSD 8.2-RELEASE-p5 #0: Sat Dec 31 18:14:51 EST 2011     Mark@FreeNAS-Dev.freenas:/usr/local/freenas/trunk/obj.amd64/usr/local/freenas/trunk/FreeBSD/src/sys/FREENAS.amd64  amd64
[Mark@freenas] /# cat /usr/local/etc/smb.conf
[global]
    encrypt passwords = yes
    dns proxy = no
    strict locking = no
    read raw = yes
    write raw = yes
    oplocks = yes
    max xmit = 65535
    deadtime = 15
    display charset = LOCALE
    max log size = 10
    syslog only = yes
    syslog = yes
    load printers = no
    printing = bsd
    printcap name = /dev/null
    disable spoolss = yes
    smb passwd file = /var/etc/private/smbpasswd
    private dir = /var/etc/private
    getwd cache = yes
    guest account = nobody
    map to guest = Bad Password
    guest ok = yes
    netbios name = freenas
    workgroup = WORKGROUP
    server string = FreeNAS Server
    use sendfile = yes
    ea support = yes
    store dos attributes = yes
    local master = yes
    time server = yes
    security = user
    create mask = 0666
    create mask = 0666
    directory mask = 0777
    client ntlmv2 auth = yes
    dos charset = CP437
    unix charset = UTF-8
    log level = 1


[Farm]
    path = /mnt/farm
    printable = no
    veto files = /.snap/.windows/
    comment = Entire NAS
    writeable = yes
    browseable = yes
    inherit owner = no
    inherit permissions = no
    vfs objects = zfsacl
    guest account = www
    guest ok = yes
    inherit acls = Yes
    map archive = No
    map readonly = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = yes


[Movies]
    path = /mnt/farm/movies
    printable = no
    veto files = /.snap/.windows/
    comment = Movies
    writeable = yes
    browseable = yes
    inherit owner = no
    inherit permissions = no
    vfs objects = zfsacl
    guest account = www
    guest ok = yes
    inherit acls = Yes
    map archive = No
    map readonly = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = yes


[Madyson]
    path = /mnt/farm/Madyson
    printable = no
    veto files = /.snap/.windows/
    comment = Mady's Data
    writeable = yes
    browseable = yes
    inherit owner = no
    inherit permissions = no
    vfs objects = zfsacl
    guest account = www
    guest ok = yes
    inherit acls = Yes
    map archive = No
    map readonly = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = yes


[Rebecca]
    path = /mnt/farm/Rebecca
    printable = no
    veto files = /.snap/.windows/
    comment = Becky's Data
    writeable = yes
    browseable = yes
    inherit owner = no
    inherit permissions = no
    vfs objects = zfsacl
    guest account = www
    guest ok = yes
    inherit acls = Yes
    map archive = No
    map readonly = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = yes


[Backups]
    path = /mnt/farm/backups
    printable = no
    veto files = /.snap/.windows/
    comment = Acronis Backup Files
    writeable = yes
    browseable = yes
    inherit owner = no
    inherit permissions = no
    vfs objects = zfsacl
    guest account = www
    guest ok = yes
    inherit acls = Yes
    map archive = No
    map readonly = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = yes


[FTP]
    path = /mnt/farm/ftp
    printable = no
    veto files = /.snap/.windows/
    comment = Shared FTP
    writeable = yes
    browseable = yes
    inherit owner = no
    inherit permissions = no
    vfs objects = zfsacl
    guest account = www
    guest ok = yes
    inherit acls = Yes
    map archive = No
    map readonly = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = yes


[Photos]
    path = /mnt/farm/photos
    printable = no
    veto files = /.snap/.windows/
    comment = Family Photos
    writeable = yes
    browseable = yes
    inherit owner = no
    inherit permissions = no
    vfs objects = zfsacl
    guest account = www
    guest ok = yes
    inherit acls = Yes
    map archive = No
    map readonly = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = yes


[Music]
    path = /mnt/farm/music
    printable = no
    veto files = /.snap/.windows/
    comment = Music
    writeable = yes
    browseable = yes
    inherit owner = no
    inherit permissions = no
    vfs objects = zfsacl
    guest account = www
    guest ok = yes
    inherit acls = Yes
    map archive = No
    map readonly = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = yes


[Mark@freenas] /# sysctl hw.model hw.physmem
hw.model: Intel(R) Core(TM)2 Duo CPU     E8500  @ 3.16GHz
hw.physmem: 8574136320

iozone is what we should be running here with CIFS, both on and off the NAS. That would be my next recommendation.

I'll look into other tests as I get time this week. I want to nail down this CIFS problem and determine what really needs to be done with 8.0.3-RELEASE-p1 instead of this knee jerk reaction to things being 'slow'.
 

mattymuc

Dabbler
Joined
Sep 21, 2011
Messages
16
Maybe.. maybe not. Depends on the hardware and system tuning. I'm planning on turning AIO off by default because of the masses that are running FreeNAS on smaller iron. I don't know why your case was so slow though TBH -- what disks do you have in your chassis?

I'm using some SAMSUNG HD204UI and some Seagate Barracuda ST2000DL003 on a LSI SAS 9201-16i Controller in different ZFS-Z2 volumes. Both volumes have this CIFS performance drops with AIO turned on.
But I don't understand why AIO turned on slows down CIFS... It should do the opposite...
 

joeschmuck

Old Man
Moderator
Joined
May 28, 2011
Messages
10,994
Ugh. I'll have to look at this transient build issue later.
Disregard, a rebuild is working fine on my VM. Not sure what happened because I had no error messages during the original build and nothing changed in the source, and I built both from a clean system. Weird. Maybe this is the same type of bug you were seeing during your builds? Next time I'll build it twice before I cry wolf.
 
G

gcooper

Guest
I'm using some SAMSUNG HD204UI and some Seagate Barracuda ST2000DL003 on a LSI SAS 9201-16i Controller in different ZFS-Z2 volumes. Both volumes have this CIFS performance drops with AIO turned on.
But I don't understand why AIO turned on slows down CIFS... It should do the opposite...

Try setting "write cache size" to see if that helps. It would also help to know whether or not it's just writes, or if it's reads as well. According to smb.conf:

Code:
       write cache size (S)

           If this integer parameter is set to non-zero value, Samba will
           create an in-memory cache for each oplocked file (it does not do
           this for non-oplocked files). All writes that the client does not
           request to be flushed directly to disk will be stored in this cache
           if possible. The cache is flushed onto disk when a write comes in
           whose offset would not fit into the cache or when the file is
           closed by the client. Reads for the file are also served from this
           cache if the data is stored within it.

           This cache allows Samba to batch client writes into a more
           efficient write size for RAID disks (i.e. writes may be tuned to be
           the RAID stripe size) and can improve performance on systems where
           the disk subsystem is a bottleneck but there is free memory for
           userspace programs.

           The integer parameter specifies the size of this cache (per
           oplocked file) in bytes.

           Default: write cache size = 0

           Example: write cache size = 262144 # for a 256k cache size per file


The tradeoff to note is memory for speed, so you might need a lot more RAM than you have if you serve up files to more than a handful of clients. Try to stick to values that are multiples of (4096 -> _SC_PAGE_SIZE) 4kB to avoid memory page fragmentation.
 

mattymuc

Dabbler
Joined
Sep 21, 2011
Messages
16
Try setting "write cache size" to see if that helps. It would also help to know whether or not it's just writes, or if it's reads as well.
´

I tried the following settings:
socket options = TCP_NODELAY SO_KEEPALIVE SO_SNDBUF=1048576 SO_RCVBUF=1048576
write cache size = 134217728

AIO = on

Now I get 50MB/s in both directions for large files >4GB. (Win7 Client).
I will do some more tests tomorrow.

Thank you.
 
G

gcooper

Guest
´

I tried the following settings:
socket options = TCP_NODELAY SO_KEEPALIVE SO_SNDBUF=1048576 SO_RCVBUF=1048576
write cache size = 134217728

AIO = on

Now I get 50MB/s in both directions for large files >4GB. (Win7 Client).
I will do some more tests tomorrow.

The SO_SNDBUF and SO_RCVBUF settings are overkill. You need to tweak these values (ex. from /etc/sysctl.conf):

Code:
net.inet.tcp.recvspace=262144
net.inet.tcp.sendspace=131072
net.inet.udp.recvspace=131072


Some other settings that would make sense with your massively multicore setup would be:

Code:
# Not needed for 9.x+ with the eventtimer framework.
kern.hz=100


Some other values I've tweaked:

Code:
# For my RAID controller.
hw.mfi.max_cmds
kern.ipc.nmbclusters
# Not really necessary in home scenarios, but I did it for my own testing.
kern.maxfilesperproc
vm.kmem_size
vm.kmem_size_max
vfs.zfs.arc_max
 
G

gcooper

Guest
The SO_SNDBUF and SO_RCVBUF settings are overkill. You need to tweak these values (ex. from /etc/sysctl.conf):

Code:
net.inet.tcp.recvspace=262144
net.inet.tcp.sendspace=131072
net.inet.udp.recvspace=131072


Some other settings that would make sense with your massively multicore setup would be:

Code:
# Not needed for 9.x+ with the eventtimer framework.
kern.hz=100


Some other values I've tweaked:

Code:
# For my RAID controller.
hw.mfi.max_cmds
kern.ipc.nmbclusters
# Not really necessary in home scenarios, but I did it for my own testing.
kern.maxfilesperproc
vm.kmem_size
vm.kmem_size_max
vfs.zfs.arc_max

Another couple tidbits to consider...

There are other knobs that can be tweaked in the base system to improve AIO performance if you have the CPU/cores to back it up. Here are the sysctls:

Code:
$ sysctl vfs.aio
vfs.aio.max_buf_aio: 16
vfs.aio.max_aio_queue_per_proc: 256
vfs.aio.max_aio_per_proc: 32
vfs.aio.unloadable: 0
vfs.aio.aiod_lifetime: 3000
vfs.aio.aiod_timeout: 1000
vfs.aio.num_buf_aio: 0
vfs.aio.num_queue_count: 0
vfs.aio.max_aio_queue: 1024
vfs.aio.target_aio_procs: 4
vfs.aio.num_aio_procs: 4
vfs.aio.max_aio_procs: 32


In particular:
- vfs.aio.num_buf_aio and vfs.aio.num_queue_count are the numbers you should watch so you can tweak vfs.aio.max_buf_aio and vfs.aio.max_aio_queue .
- You should look at vmstat -z and watch the stats in the following rows:

Code:
AIO:                    208,      0,       1,     107,       5,   0,   0
AIOP:                    32,      0,       4,     905,     131,   0,   0
AIOCB:                  480,      0,       0,     584, 7626491,   0,   0
AIOL:                   128,      0,       0,       0,       0,   0,   0
AIOLIO:                 272,      0,       0,       0,       0,   0,   0


If particular, if USED is non-zero and FREE is either zero or approaching zero and things have peaked and/or are slowing down, you should try increasing the maximum sysctls (NOTE: some of the reported values are redundant with the sysctls that I showed above).

Warning: tweaking some values can dramatically boost/reduce performance in a variety of ways. For example, increasing the jumbo9k frames ipc mbuf cluster count torqued another component in the system and made things slower. So empirical testing of all components -- if possible -- is a must, and just because a certain set of values works for someone on the list with a certain set of hardware.
 

mattymuc

Dabbler
Joined
Sep 21, 2011
Messages
16
In particular:
- vfs.aio.num_buf_aio and vfs.aio.num_queue_count are the numbers you should watch so you can tweak vfs.aio.max_buf_aio and vfs.aio.max_aio_queue .
- You should look at vmstat -z and watch the stats in the following rows

I copied around 100GB in both directions but vmstat -z always looks like:

Code:
AIO:                      208,        0,        0,        0,        0,        0
AIOP:                      32,        0,        0,        0,        0,        0
AIOCB:                    480,        0,        0,        0,        0,        0
AIOL:                     128,        0,        0,        0,        0,        0
AIOLIO:                   272,        0,        0,        0,        0,        0


All values are zero. What does this mean? AIO es enabled in CIFS-samba-config.

Code:
$ sysctl vfs.aio
vfs.aio.max_buf_aio: 16
vfs.aio.max_aio_queue_per_proc: 256
vfs.aio.max_aio_per_proc: 32
vfs.aio.unloadable: 0
vfs.aio.aiod_lifetime: 3000
vfs.aio.aiod_timeout: 1000
vfs.aio.num_buf_aio: 0
vfs.aio.num_queue_count: 0
vfs.aio.max_aio_queue: 1024
vfs.aio.target_aio_procs: 4
vfs.aio.num_aio_procs: 0
vfs.aio.max_aio_procs: 32
 

joeschmuck

Old Man
Moderator
Joined
May 28, 2011
Messages
10,994
My results after reading 6GB. I haven't a clue what this means, just thought I'd post it to show that I don't have '0' values.

Code:
AIO:                      208,        0,        1,       35,        4,        0
AIOP:                      32,        0,        8,      295,      133,        0
AIOCB:                    480,        0,        0,       56,  4157747,        0
AIOL:                     128,        0,        0,        0,        0,        0
AIOLIO:                   272,        0,        0,        0,        0,        0
 

MrWGT

Cadet
Joined
Jan 6, 2012
Messages
7
I've upgraded from a freenas 7S-FreeNAS-amd64-LiveCD-0.7.2.5794 system to FreeNAS-8.0.3-RELEASE_MULTIMEDIA-x64 and i'm impressed by the speedup of CIFS without further tweaks. My system is a HP Proliant N36L with 8GB RAM and 4 WD10EADS in a RAID-Z.

Old freenas 0.7.2 with heavy tweaking (sysctl, smb.conf, intel gigabit ct adapter (internal HP adapter very slow)): ~ 75MB/s read, ~80MB/s write
New freenas 8.0.3 without tweaks (build in HP NC107i PCIe Gigabit Server Adapter): ~100MB/s read, ~88MB/s write

My aio values after reading 7.5GB:

Code:
vmstat -z | grep -i aio
AIO:                      208,        0,        1,       35,        6,        0
AIOP:                      32,        0,        8,      295,       28,        0
AIOCB:                    480,        0,        1,       47,   853186,        0
AIOL:                     128,        0,        0,        0,        0,        0
AIOLIO:                   272,        0,        0,        0,        0,        0

Code:
uname -a
FreeBSD freenas.local 8.2-RELEASE-p5 FreeBSD 8.2-RELEASE-p5 #0: Wed Jan  4 07:48:31 PST 2012     root@streetfighter.ixsystems.com:/usr/home/gcooper/e2e-bld.M1ZppX2E/obj.amd64/usr/home/gcooper/e2e-bld.M1ZppX2E/FreeBSD/src/sys/FREENAS.amd64  amd64

To gain ~100MB/s read speed (task manager (win 7 64bit) shows 95-99% network traffic) in my old pc i had to use a intel gigabit pcie-card in my pc and to optimize the TCP settings with "SG TCP optimizer" for speed 100M+. The build in realtek gigabit was only able to read at ~50MB/s (even with tcp optimizer).

My new pc with asus P68Z68-V has a build in intel gigabit but needed also "SG TCP optimizer" to gain 100MB/s read speed. Without TCP tweaks i got ~20MB/s less.

Gerd

PS: Here is the link to a screenshot showing copy operation http://www.mitlaender.de/picture/freenas-803-read.jpg
 
Status
Not open for further replies.
Top