LAN Manager 2.1 Server Autotuning (Part 1)

Last reviewed: September 30, 1994
Article ID: Q80077
The information in this article applies to:
  • Microsoft LAN Manager versions 2.1, 2.1a and 2.2

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

MORE INFORMATION

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 "lanman" parameter.

In the \LANMAN\SERVICES\SERVER.CFG file, "Old server settings" contains the settings used during server startup. "New server settings" 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 "best settings" 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.

  1. 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 "best value" 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 "Cache too Large, Slow Operation."

    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.

  2. 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 reference words: 2.10 2.10a 2.20
KBCategory: kbnetwork
KBSubcategory: ntfilesys


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: September 30, 1994
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.