Server Optimization in RFCB Caching

ID: Q126026


The information in this article applies to:


SUMMARY

The Server service now caches the file handles (RFCBs) associated with files it has opened on behalf of a client request. Although write requests proceed normally, close requests are acknowledged by the server, but are buffered from the file system. This is intended to optimize response time to repeated open/close operations performed by clients. In regards to Opportunistic Locking (oplock), this optimization is a logical extension of the way a client caches its own file close request and relies on the server to arbitrate future requests for file access by other clients.

In rare situations, Oplock must be disabled for compatibility purposes. RFCB caching also includes a configurable parameter in the registry to modify the server's behavior.


MORE INFORMATION

An obvious sign that a file is being held open is the reported size may be zero. In Control Panel, the Server option displays open files, when in fact, they are only open by the Server service in a cached mode. Other signs may include sharing violations. Local file operations are not serviced by the server and are not subject to RFCB caching. If you experience problems accessing files opened via a UNC name or from a different computer, you can diagnose the issue as follows:

WARNING: Using Registry Editor incorrectly can cause serious, system-wide problems that may require you to reinstall Windows NT to correct them. Microsoft cannot guarantee that any problems resulting from the use of Registry Editor can be solved. Use this tool at your own risk.

  1. Attempt accesses to the file from the local machine. If you are not able to access the file locally, the remote application might hold a lock on the file or has opened it in exclusive mode.


  2. End the remote application and attempt access once again. If this corrects the problem, the application developer should be consulted on their support for running the application on a network.


  3. Disable the RFCB caching by modifying the Registry. To do this, start the Registry Editor (REGEDT32.EXE) and go to the following subkey:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services \LanmanServer\Parameters
    Add or change the following:
    Value Name: CachedOpenLimit
    Data Type: REG_DWORD
    Data: 0 (Default: 5)


  4. Either shut down and restart Windows NT, or from a command prompt type:
    NET STOP SERVER
    And then type:
    NET START SERVER
    NOTE: If this appears to correct the symptoms, you can continue to run the server this way but it will not benefit from RFCB caching.


Additional query words: prodnt cached open limit


Keywords          : kbnetwork ntnetserv ntfault ntfilesys 
Version           : WinNT:3.5,3.51,4.0
Platform          : winnt 
Issue type        : 

Last Reviewed: February 23, 1999