Tidbit for improving Samba performance

From: Brooks Talley <brooks_at_illuminati.org>
Date: Tue, 28 Aug 2007 11:12:12 -0700 (PDT)
I've been fighting with a new 7.0-CURRENT install, trying to get decent Samba performance between the FreeBSD box and a Vista workstation on a gigabit network.  Lots of stuff out there recommends setting Samba's SO_RCVBUF and SO_SNDBUF options to 8192.  Bad idea!

In lots of testing, what I've found is that performance is at its best when those options match net.inet.tcp.recvspace and net.inet.tcp.sendspace respectively.  With a default install, I was seeing about 15MB/s transfer rates.  Setting SO_RECVBUF and SO_SNDBUF to 8192 dropped me to about 11MB/s, which made me experiment a bit.

Right now, with net.inet.tcp.recvspace and net.inet.tcp.sendspace both at 65536 and SO_RCVBUF and SO_SNDBUF also at 65536, I'm seeing about 60MB/s.  Still not great, but a significant improvement.  FWIW, going higher than 65536 causes the Vista workstation to lose its mapped drive all the time.  And changing the MTU on both FreeBSD and Vista (to either 4088 or 9014) had no discernable benefit.

This is on a 7.0-CURRENT compiled without all of the debugging stuff, and it's at 0.7 load and 73% idle when transferring 60MB/s, so I think there's still some headroom there for improvement.

Anyways, thought I'd share with the group, since I haven't seen this mentioned in copious amounts of Googling.

-b
Received on Tue Aug 28 2007 - 16:12:25 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:16 UTC