ID Number: Q80077
2.10
OS/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:
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 only be modified for unlimited user pak; i.e., 120)
Additional reference words: 2.10