Samba server performance -- only 33MiB/s with one client on 1G network!

Lev Serebryakov lev at FreeBSD.org
Sun Jul 7 19:37:14 UTC 2013


Hello, Freebsd-performance.

  I have 9-STABLE/amd64 server on E4500 CPU (Core2Duo 2.4Ghz), with 6GiB of
 DDR2-800 RAM and intel 1G adapter (em0, "82566DM-2 Gigabit Network
 Connection").

  It has SATA software RAID5 with 5 drives.

  Filesystem (UFS2, 32K blocks) is exported with samba36 (latest), with
 enabled AIO, sendfile and TCP options for 256K window (SMB2 is turned off,
 as Win7 clients has confirmed, but not fixed bug in it).

  Local read of directory like this:

  tar cf - "dir" | dd bs=128k of=/dev/null

  shows 280MiB/s read according to "dd" diagnostics. It is about 24GiB of
 data, so it could not be cached. Good result, I like it.

  This server is connected to small home netwrok via HP ProCurve 1400-8G
 switch.

  Also, I have client, which is connected to same switch and runs Win 7. It
 mounts this FS via Samba.

  iperf from server to Win7 client (Server sends) shows ~820 Mbits/sec. It
 is not best performanse, but client has loosy network adapter (Atheros 1G
 adapter).

  But when I run

  tar cf - "dir" | dd bs=128k of=/dev/null

  on client it shows only 33MiB/s. It doesn't look like something near
 820Mbit/s!

  And smbd utilize only 50% of one core.


  So, smbd is NOT limited by:

    (1) FS (33MiB/s vs 280MiB/s).
    (2) Network (33MiB/s vs 820Mbit/s / 97MiB/s).
    (3) CPU (50% vs 100%, CPU is 150% idle!).

  Why samba performacne is so loosy? What could

-- 
// Black Lion AKA Lev Serebryakov <lev at FreeBSD.org>



More information about the freebsd-performance mailing list