I've been struggling for several days with an issue to which I found a
number of references, but few solutions, so wanted to put my experience
"out there", in the hope that others may find it useful at some time.
A client company network of 10 WinXP Pro PCs and CentOS 4 server (a
Fujitsu RX300x2) running Samba was last week replaced with 10 Win7 Pro
PCs and a CentOS5 server (Fujitsu RX300s6) running Samba 3.0. Just a
workgroup, no domain. Most of the configuration was migrated forward to
the new server, including smb.conf.
Performance on file copies to and from the shares (via mapped drive
letters) was fine, but operations such as searches and reports in the
Sage Line 50 version 2011 accounts package were taking 3 to 4 times
longer than on the old system. (This was putting a VAT quarter
calculation up to about 1.25 hours, since this is a large dataset for
Sage Line 50.)
I tried a number of things, including turning oplocks on and off on the
sage data share, and a number of things on the PCS - no help at all.
I moved from Samba 3.0 to Samba 3.3, using the Samba3x packages provided
for RHEL / CentOS. No help. (Although this may have been contributory in
the end - I can't prove either way.)
I then found that I had in my smb.conf the line
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
which had come forward from the old server.
Removing the socket options line made no obvious difference to the speed
with oplocks disabled, but one this line was removed AND optlocks were
enabled on the Sage share (oplocks = True, level2 oplocks = True)
performance for Sage searches and reports was improved by a factor of at
least 10 - significantly more for some operations.
Getting here has taken turned up logging, much Googling, some Wireshark
packet examination, etc. End result submitted in the hope of saving
someone else some work.
Ben
--
Ben Clayton
Director
Irax Ltd.