[Samba] aio settings for samba 4.3

Russell R Poyner russell.poyner at wisc.edu
Thu Jul 21 17:23:01 UTC 2016


One more data point for comparison

I installed the stock samba 4.2 rpm on a centos 7 machine and ran the 
same diskspd tests against a share configured with:
    vfs objects = aio_pthread
    aio read size = 1024
    aio read size = 1024

    smb2 leases = yes

I get 27MB/s with 4k blocks and 145MB/s with 64k blocks. Disabling 
cacheing by passing the -h switch to diskspd lowered these to 72MB/s and 
11MB/s. Which I view as 'close enough' to wire speed. Thus it seems that 
the dismal performance I see is associated with the FreeBSD 
implementation somehow.

Thanks again
RP

On 07/20/2016 03:58 AM, Volker Lendecke wrote:
> On Tue, Jul 19, 2016 at 12:42:53PM -0700, Jeremy Allison wrote:
>> On Tue, Jul 19, 2016 at 12:49:09PM -0500, Russell R Poyner wrote:
>>> I'm tuning a samba 4.3 install on freebsd and I'm confused about aio
>>> settings.
>>>
>>> I've loaded the freebsd aio kernel module and tried various values
>>> or aio read size and aio write size, but it seems to make no
>>> difference in the speed.
>>>
>>> Using MS diskspd against a samba share from a fast zfs pool I get
>>> something like 25MB/s tops. That's well below the capacity of my Gb
>>> network and my disk system. FWIW iperf shows >900Mbits/sec in both
>>> directions on the link.
>>>
>>> # smbd -b|grep aio
>>>     vfs_aio_fork_init
>>>     vfs_aio_posix_init
>>>     vfs_aio_pthread_init
>> You don't need these, modern Samba includes a pthread pool
>> implementation that will parallelize SMB io requests.
> The main reason for our user-space threaded approach is lack of aio in
> Linux. Proper kernel support for posix AIO might be faster than our
> implementation. "vfs objects = aio_posix" will give you that.
>
> This needs very thorough performance testing. If it turns out to be
> faster than our threaded aio on FreeBSD, we might have to revive
> the aio_posix module, it went away last year.
>
> Volker




More information about the samba mailing list