What is the recommended tuning for Windows Terminal Server (WTS) CIFS clients?
Applies to
Data ONTAP 7 and earlier
Answer
Slow network performance with Windows Terminal Server.
Error message: STATUS_RANGE_NOT_LOCKED
Windows 2000-based clients that attempt multiple simultaneous long-term requests against a file server might receive error code 56 "The network BIOS command limit has been reached
", even if larger MaxCmds or MaxMpxCt values have been specified in the registry
For the performance reason, you may need to increase the "cifs.max_mpx" to 1124 while using the storage system with a Windows Terminal Server (WTS).
Note: Before taking the max_mpx up to 1124, it is recommended to check the current max_mpx.
Steps to modify the cifs.max_map value from the storage system:
- Terminate CIFS:
cifs terminate
.
- Enter
options cifs.max_mpx 1124
.
Note: Some versions of Data ONTAP 5.3.x may require the following:
a. To enter advanced mode, enter:rc_toggle_basic
b. Once all tasks are complete, to exit advanced mode, enter:rc_toggle_basic
- Restart CIFS:
cifs restart
For certain cases, the client side parameter (MaxCmds) may need to be tuned as well. For details about this issue, please refer to Microsoft Knowledge Base Article - 271148: MaxMpxCt and MaxCmds Limits in Windows 2000.
Obtain the latest service pack for Windows 2000 Microsoft to resolve this Microsoft problem, which was first corrected in Windows 2000 Service Pack 2.
The following explanation is quoted from Microsoft Knowledge Base Article 271148:
"...This hotfix raises the upper limit for the MaxCmds parameter to 65,535, and the upper limit for the MaxMpxCt parameter to 65,535. It also includes a check to determine if clients are running Windows 95 or Windows 98. If the Windows 2000-based server detects a client that is running Windows 95 or Windows 98, it behaves as if the MaxMpxCt value is no larger than 125. Smaller values are still honored.
Although this hotfix increases the upper limit on the number of concurrent commands that can be outstanding between a client and a server, take care not to set these values too high. The more outstanding connections that exist, the more memory resources will be used by the server. If you set the values too high, the server could run out of resources such as paged pool memory. This could result in various kinds of system problems..."
Additional Information
- What is CIFS Max Multiplex?
- Microsoft Knowledge Base Article 191370: Slow Network Performance with Terminal Server
- Microsoft Knowledge Base Article 231798: Access Database with Multiple Users Slow on Terminal Server
- Microsoft Knowledge Base Article 190162: Terminal Server and the 2048 Open File Limitation