Samba and Terminal Server issues

Thor Johnson tjohnson at acpthinclient.com
Tue Apr 24 21:03:23 GMT 2001


I saw this on the CitrixSE forum about Win2K SMB scalability...
(citrixse at yahoogroups.com)

Of course, they want you to get the fix thru "official" channels ;)
That you have to pay for :(


-Thor Johnson
www.acpthinclient.com


---

MaxMpxCt and MaxCmds Limits in Windows 2000 

----------------------------------------------------------------------
----------
The information in this article applies to:

Microsoft Windows 2000 Professional 
Microsoft Windows 2000 Server 
Microsoft Windows 2000 Advanced Server

----------------------------------------------------------------------
----------


SYMPTOMS
Windows 2000-based clients that attempt multiple simultaneous long-
term requests against a file server may 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. One example 
of a long-term request is a client using the 
FindFirstChangeNotification call to monitor a server for changes. 



CAUSE
The maximum number of concurrent outstanding network requests between 
a Server Message Block (SMB) client and server is determined when a 
session between the client and server is negotiated. The maximum 
value that a client supports should be determined by the 
LanmanWorkstation MaxCmds parameter. The maximum value a server 
supports is determined by the LanmanServer MaxMpxCt parameter. For a 
given client and server pair, the limit should be the lower of these 
two values.

A problem with the Windows 2000 redirector causes the MaxCmds 
parameter to be ignored. Instead of using this parameter, the Windows 
2000 redirector uses a default, hard-coded limit of 50. In addition, 
the maximum permitted MaxMpxCt value in Windows 2000 is 125. 
Therefore, Windows 2000-based clients cannot support more than 50 
concurrent commands, whether the server is running Windows 2000 or an 
earlier operating system (such as Microsoft Windows NT). Also, 
Windows 2000-based servers cannot support more than 125 concurrent 
commands per client, whether the clients are running Windows 2000 or 
an earlier operating system such as Windows NT.

These limits are lower than they are in Windows NT 4.0. One reason 
for lowering the limit is that clients that are running Microsoft 
Windows 95 or Microsoft Windows 98 cannot function correctly when 
larger values are negotiated. 



RESOLUTION
A supported fix is now available from Microsoft, but it is only 
intended to correct the problem described in this article and should 
be applied only to systems experiencing this specific problem. This 
fix may receive additional testing at a later time, to further ensure 
product quality. Therefore, if you are not severely affected by this 
problem, Microsoft recommends that you wait for the next Windows 2000 
service pack that contains this fix.

To resolve this problem immediately, contact Microsoft Product 
Support Services to obtain the fix. For a complete list of Microsoft 
Product Support Services phone numbers and information about support 
costs, please go to the following address on the World Wide Web:


http://support.microsoft.com/directory/overview.asp

NOTE: In special cases, charges that are normally incurred for 
support calls may be canceled, if a Microsoft Support Professional 
determines that a specific update will resolve your problem. Normal 
support costs will apply to additional support questions and issues 
that do not qualify for the specific update in question. 

The English version of this fix should have the following file 
attributes or later: 
   Date        Time    Version         Size     File name
   -------------------------------------------------------
   08/16/2000  03:03p  5.00.2195.2103  368,976  Mrxsmb.sys
   08/16/2000  03:03p  5.00.2195.2103  234,352  Srv.sys
   08/16/2000  03:04p  5.00.2195.2103   71,952  Srvsvc.dll
   08/16/2000  03:05p  5.00.2195.2103   97,552  Wkssvc.dll 

This hotfix raises the upper limit for the MaxCmds parameter to 
65,535, and the upper limit for the MaxMpxCt parameter to 64,535. The 
hotfix 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. 



STATUS
Microsoft has confirmed this to be a problem in the Microsoft 
products listed at the beginning of this article.



MORE INFORMATION
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. In particular, you should not 
increase the values substantially unless you know that there will be 
a limited number of clients connected to the server at any given 
time. 

Note that you may also need to adjust other server parameters to 
maintain optimum performance. For example, you may also need to 
increase the MaxWorkItems value. This article does not make specific 
recommendations as to which values or settings will be optimal for 
your situation because of the number of variables that are involved. 
For additional information about how to install Windows 2000 and 
Windows 2000 hotfixes at the same time, click the article number 
below to view the article in the Microsoft Knowledge Base: 

Q249149 Installing Microsoft Windows 2000 and Windows 2000 Hotfixes 

Additional query words: NETBIOS 

Keywords : kbWin2000PreSP2Fix 
Issue type : kbbug 
Technology : kbwin2000AdvServ kbwin2000AdvServSearch kbwin2000S 
kbwin2000Ssearch kbwin2000Search kbwin2000ProSearch kbwin2000Pro 
 


 








More information about the samba mailing list