Quote:
Originally Posted by Samba 3 HOWTO & Reference Guide
17.2.1.2 Multiple-Accessed Shares or Files
As each additional user accesses a file in a share with oplocks enabled, the po-
tential for delays and resulting perceived poor performance increases. When
multiple users are accessing a file on a share that has oplocks enabled, the
management impact of sending and receiving oplock breaks and the result-
ing latency while other clients wait for the caching client to flush data offset
the performance gains of the caching user.
As each additional client attempts to access a file with oplocks set, the
potential performance improvement is negated and eventually results in a
performance bottleneck.
17.2.1.3 UNIX or NFS Client-Accessed Files
Local UNIX and NFS clients access files without a mandatory file-locking
mechanism. Thus, these client platforms are incapable of initiating an oplock
break request from the server to a Windows client that has a file cached.
Local UNIX or NFS file access can therefore write to a file that has been
cached by a Windows client, which exposes the file to likely data corruption.
If files are shared between Windows clients and either local UNIX or NFS
users, turn oplocks off.
|
What you are seeing may be the best you can get. Windows loads in the entire file and locks are a mechanism whether the client will be allowed to save the file back. Linux/Unix locks a range of bytes on the filesystem. The client program may not be written properly as well. I remember Jeremy Allison in an interview mentioning that this is an area that is the focus of a lot of work. So you may want to look in the README file on your system, there may be further info on recent oplock changes. There may be subtle differences between different Windows clients as well.
Also read through Section 17 of the Samba 3 HOWTO & Reference Guide ( the samba-doc package supplies it ) and maybe check the samba3.org website for any recent version changes. Perhaps monitor a samba mailing list as well.
Using "Force User" may also cause a problem.
Quote:
17.2.1.7 Beware of Force User
Samba includes an smb.conf parameter called force user that changes the
user accessing a share from the incoming user to whatever user is defined by
the smb.conf variable. If oplocks is enabled on a share, the change in user
access causes an oplock break to be sent to the client, even if the user has
not explicitly loaded a file. In cases where the network is slow or unreliable,
an oplock break can become lost without the user even accessing a file.
This can cause apparent performance degradation as the client continually
reconnects to overcome the lost oplock break.
Avoid the combination of the following:
• force user in the smb.conf share configuration.
• Slow or unreliable networks.
• Oplocks enabled.
|