fxp performance with POLLING

Adam McDougall mcdouga9 at egr.msu.edu
Mon Oct 6 12:55:05 UTC 2008

Bartosz Stec wrote:

>>> BTW overall SAMBA performance still sucks on 7.1-pre as much as on 
>>> RELENG_5 ...:( - 7.5 MB/s peak.
>> 7.5MB is 75% effeciency of a 100mbit card.  Not amazing, but
>> not "sucks".
>> Where do you see faster performance?
>> Between windows machines on the same hardware or linux server?
> It sucks because it is a peak performance. About 5-6 MB/s average. I 
> tried polling only because I found some suggestions on mailing lists, 
> that it could improve performance with SAMBA on FreeBSD. As you see at 
> the top of this thread - not in my case :) I also tried sysctl tunings, 
> and smb.conf settings, also suggested on maling lists, with no or very 
> little improvements noticed. Most of suggestions unfortunately end with 
> "change OS to Linux if you want to use SAMBA". I think I will try to 
> change NIC to 1Gbit - hope that helps :) Or maybe there's some "FreeBSD 
> and SAMBA tuning guide" which I didn't found?

Please try experimenting with "socket options" in smb.conf, I've found 
that some tuning is desirable on any OS with Samba, but these are the 
values that worked best for me with Windows XP clients in mind.  Win2003 
clients seemed much faster without tuning (same base code as XP 64bit) 
and I suspect it has a different SMB implementation.  I'd suggest 
starting with "socket options = TCP_NODELAY IPTOS_THROUGHPUT 
SO_RCVBUF=8192 SO_SNDBUF=8192" and if you aren't satisfied, experiment 
with the numbers  and which options are enabled.  Be sure that the 
client has been disconnected from Samba completely to make sure you are 
testing the values in the config file.  I'm pretty sure with these 
tunings I was able to get closer to 10MB/sec on 100Mbit, which satisfies 
me for the average user.

# Most people will find that this option gives better performance.
# See smb.conf(5) and /usr/share/doc/samba-doc/htmldocs/speed.html
# for details
# You may want to add the following on a Linux system:
#         SO_RCVBUF=8192 SO_SNDBUF=8192
#   socket options = TCP_NODELAY
# For some reason, 8192 is pretty fast on a XP lab 100Mb client.  Other 
sizes tested and dissapointing in that situation.  Windows Server 2k3 on 
gig is much faster, and likes larger values.  There might be some merit 
in testing 49152 in some situations.  (20080617)
# TCP_NODELAY makes a huge improvement.  IPTOS_THROUGHPUT is negligible 
# mcdouga9 20070110
#   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

More information about the freebsd-stable mailing list