Microsoft KB Archive/80077

= LAN Manager 2.1 Server Autotuning (Part 1) =

Article ID: 80077

Article Last Modified on 9/30/2003

-

APPLIES TO


 * Microsoft LAN Manager 2.1 Standard Edition
 * Microsoft LAN Manager 2.1a
 * Microsoft LAN Manager 2.2 Standard Edition

-



This article was previously published under Q80077



SUMMARY
All versions of LAN Manager earlier than version 2.1 provide user configurable server tuning. Tuning requires knowledge of the structure of the LANMAN.INI file so the system administrator can edit the file. Furthermore, knowledge of the OS/2 operating system is required in order to optimize performance. Finally, resource requirements must be understood and taken into account for effective operation. If these steps are not taken, a LAN Manager server may operate poorly and may not provide users with adequate resources.

This article contains part 1 of this discussion. For part 2 of this discussion, query on the following words in the Microsoft Knowledge Base:

autotuning and part 2



Server Tuning Defined
There are four categories of server tuning required of a network server:   Category             Description ---  Resource tuning      Server variables are set to satisfy clients. Performance tuning  Server variables are set for optimum server speed. Static tuning       Server variables are set upon startup. Dynamic tuning      Server variables are modified during server operation.

Purpose
Autotuning has been incorporated into LAN Manager to assure that LAN Manager servers can be easily installed, configured, and operated effectively. Performance autotuning allows the server to adjust its variables and server startup parameters to be as fast as possible. Resource autotuning means that the server tries to adjust its global variables and server startup values to satisfy client request. However, the server does not take more resources than it needs.

By hiding parameters and removing those parameters that can be autotuned, the LANMAN.INI file has been made much shorter to simplify configuration and tuning.

How Autotuning Is Done
Virtually all of the server autotuning performed is resource tuning, and most of the tuning is performed statically, as listed below. In other words, changes are made to server parameters during server startup. If a parameter value is exceeded during ordinary server operation, the server notes this fact statistically in server memory and increments a counter. In the same manner, the counter is decremented if the parameter is not used. Upon server shutdown, the tuning configuration file is updated. The file is also updated every hour after the server has been in operation for 48 hours. These statistics are implemented dynamically or statically, depending on the &quot;lanman&quot; parameter.

In the \LANMAN\SERVICES\SERVER.CFG file, &quot;Old server settings&quot; contains the settings used during server startup. &quot;New server settings&quot; contains server best values for the next startup.

Note: This file can be viewed by running \LANMAN\SERVICES\READCFG. Do not attempt to change the file using an editor--it is formatted and contains a CRC parity check. If for any reason the file is modified or damaged, CRC will fail server startup. As a result, if the file is modified, damaged, or lost, it will be re-created. LANMAN.INI and PROTOCOL.INI are text files that can be edited using a text editor such as the OS/2 editor E. Before editing any file, always make a backup copy of the original. Also, customized parameter changes may be overwritten by Setup with default settings if Setup is run sometime in the future.

Upon server startup, parameters will be set using the following methods, in order of precedence:


 * 1) NET [ADMIN] command setting is performed only during system operation.
 * 2) Settings are specified in LANMAN.INI.
 * 3) SERVER.CFG saves the &quot;best settings&quot; from the last system shutdown.
 * 4) LANMAN.INI defaults are used as a reference if no other specifications are available.

Dynamic Resource Autotuning
The server automatically modifies these hidden parameters during server operation. When the server statistics note that one of these parameters has been exceeded, the server implements the newly incremented value for the parameter. To conserve memory used by the server, these parameters are decremented when they are not used. Current parameter values are saved to the SERVER.CFG file upon server shutdown as well as once every hour after the server has operated for 48 hours.

Note: Do not attempt to set these parameters in the LANMAN.INI file or the server will not start. As of version 2.1, these parameters have been removed from LANMAN.INI because no user modification is necessary. LANMAN.INI:

maxchdevq = 2 maxchdevs = 2 maxconnections = 128   (maxusers, 2000) maxlocks = 64          (1-8000) maxopens = 64          (1-8000) maxsearches = 50       (0-1927)

Static Resource Autotuning
This group of parameters consists of hidden tuned parameters. The server will monitor statistics regarding the usage of these parameters and will save suggested startup values for these parameters. They are set only during server startup. Based on the collected statistics, the server will save suggested best values in SERVER.CFG. Users can specify these parameters in LANMAN.INI and on the command line to override current server settings. LANMAN.INI:

Maxshares = 64 (2-500) Maxusers = 10  (1,1000) ; default = 200 for unlimited server Numreqbuf = 150 (5-300) ;

Static Performance Autotuning
These parameters are automatically set by the server for optimum performance because they are stored during ordinary operation in the \LANMAN\SERVICES\SERVER.CFG file. However, the only time they are set is during the server startup. Based on the collected statistics, the server will save suggested best values. Cache hit rates should remain high during optimal server operation. Use CACHE /STATS to verify this. If the cache hit rate decreases, server system RAM may need to be increased so that more cache memory can be reserved.

 HPFS386 Cache

OS/2 version 1.3.1 has been included with LAN Manager 2.1 for server installation. Cache memory is assigned automatically by the HPFS386 IFS. This is the most notable example of server performance autotuning. When HPFS386 is initialized upon startup, an OEM$ IOCTL is used to ascertain the &quot;best value&quot; for system caching. Once this cache memory has been designated, it has been reserved for cache and is not available to other OS/2 processes. However, HPFS386 can obtain memory from the cache pool if OS/2 is unable to allocate other system memory for HPFS386 operations. This parameter can be overridden manually, as explained in the section below titled &quot;Cache too Large, Slow Operation.&quot;

Example: Upon installation of a 12 MB system, 6144 is assigned for HPFS386 caching.

Note: The above applies to HPFS386 volumes only. All FAT partitions use DiskCache = 64 (64..512..1024....). This memory is reserved for FAT caching.  NumBigBuf

LAN Manager 2.1 uses NumBigBuf to denote the maximum number of 64K locked buffers to be used for raw reads and writes. This is different from previous LAN Manager implementations! This parameter can be overridden manually by specifying the parameter explicitly in LANMAN.INI. Otherwise, the server startup values for SERVER.CFG will be used.

LANMAN.INI
Numbigbuf = 3       (0-80) ; Used only for FAT. IF HPFS386, set to 0. 

Displayed Untuned Parameters
These parameters are present in LANMAN.INI as a result of the installation process: alertnames = auditing = no        (yes,no) security = user srvservices = alerter srvcomment =

Hidden Untuned Parameters
Under LAN Manager 2.1, these parameters are not listed in LANMAN.INI. As a result, LANMAN.INI for LAN Manager 2.1 has been simplified. They are not tuned in any way by the server; however, NET ADMIN can be used to set them. They also can be set by editing LANMAN.INI using a text editor. LANMAN.INI:

Maxchdevjob = 6 (0-65535) MaxSessReqs = 50 (1-65535) MaxSessOpens = 50 (1, MaxOpens) Used with Fat, not HPFS386. Sizreqbuf = 4096 (1024-32768); Match Workstation SizeWrkbuf 2048, 4096.

*  Note: Sizereqbuf listed by ReadCfg as 4356, due to system padding. The actual value is 4096.

NumFileTasks = 1     (1-8) Hpfs386 sets to 1 automatically NumAdmin = 64  (0-65535) Noauditing = string

Srvheuristics = 11110151111211001331

;Note: A template can be used in place of default digits, x is used ;for masking. For example, set srvheuristic 3 to 0; all remaining ;digits will be default settings. ;Srvheuristics = xx0

srvnets = net1,..netx (corresponds to wrknets) userpath = \accounts\userdirs autopath = srvauto.pro autoprofile = both guestacct = GUEST accessalert = 5 alertsched = 5 diskalert = 300 erroralert = 5 logonalert = 5 maxauditlog = 100 netioalert = 5 srvanndelta = 3000 srvannounce = 60 srvhidden = no  autodisconnect = -1 (Can be modified only for unlimited user pak;                        e.g., 120)

Additional query words: 2.10 2.10a 2.20

Keywords: KB80077

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.