I discussed Opportunistic Locking in the following tips:
3108 » How do I configure Opportunistic Locking on Windows NT and Windows 2000?
0130 » Is there a delay when saving documents to a Server Share?
1447 » How do I run old MS-DOS database application on my network?
9316 » How do prevent Windows clients from requesting an opportunistic locks on a remote file?
If you have a database application that locks a range of data, not allowing data within the range to be read until it is unlocked, you can increase performance by disabling the lock-and-read and write-and-unlock performance enhancements, which normally improves performance by unlocking data immediately after a read, or immediately after a write.
The lock-and-read and write-and-unlock performance enhancements is configured by setting the UseLockReadUnlock Value Name, a REG_DWORD data type, at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters. A data value of 0 does NOT enable the lock-and-read and write-and-unlock performance enhancements. A data value of 1 enables the lock-and-read and write-and-unlock feature.
If you enable the lock-and-read and write-and-unlock feature, you can configure the maximum amount of data that can be cached by setting the LockQuota Value Name, a REG_DWORD data type, at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters. The default is 4 KB. If your application performs a significant number of lock-and-read operations, you might consider increasing this data value.
NOTE: If you set LockQuota higher than 2 MB, applications that lock megabytes of data will exhaust the paged pool.